目次
はじめに
今回は、オブジェクトの作り方を解説します。
※本記事は、オブジェクト指向を未経験なりに解釈したものです。
多少の解釈のズレ等あるかと思いますが、初心者向けのオブジェクト指向を理解する上での第一歩の一助になればと心得ております。最後までお付き合い頂けると幸いです。
オブジェクトの作り方
※前回の記事でも書きましたが、
前提として、オブジェクトはデータとロジックで構成されています。
言い換えれば、データを使って、判断/加工/計算(ロジック)等を行い結果を受け渡すものです。
このイメージは持っておいて下さい。
STEP
クラスを作る
クラスはオブジェクトの元になるフレームワーク(設計図)のようなものです。
Ex.
public class Book {
...
...
}
STEP
クラス内にフィールド変数・メソッドを加える
フィールド変数 = データ, メソッド = ロジックに当たります。
※細かいですが、メソッドはクラスではなくオブジェクトで具体的に作ることも多々あります。
Ex.
import java.time.LocalDate;
public class Book {
//フィールド変数
String title;
String author;
double price;
int pages;
LocalData date;
//コンストラクタは省略
// メソッド:1ページあたりの値段の計算
public int pagePrice (double price, int pages) {
double result = price / pages;
return Math.round(result);
}
}
STEP
インスタンス化してクラスを元にオブジェクトをコピー(大量生産)する
オブジェクトに1つ1つ型番をつけてオブジェクト同士を差異化します。
※同じヒトでも1人1人名前があるイメージ
Ex.
import java.time.LocalDate;
public class ExecBook {
public static void main(String[] args) {
Book b1 = new Book("OOP1", "object man1", 1500, 100, LocalDate.of(2022,3,8));
Book b2 = new Book("OOP2", "object man2", 1800, 150, LocalDate.of(2022,3,9));
....
System.out.println(b1.title + "は1ページあたり約" + b1.pagePrice(1500, 100) + "円です。");
}
}
最後に
オブジェクトを作るのに必要なのは、クラス・フィールド・メソッドのみです。
そして、インスタンス化することで初めてオブジェクトは設計図から本物のオブジェクトとして作られるのです。
こうして考えると、身近にもオブジェクト指向を当てはめて考えられる例が多いと気づきます。
ぜひ、皆様も身近なものをオブジェクト指向に当てはめて考えてみて下さい。オブジェクト指向にそのうち親しみを覚えるはずです(笑)。