#はじめに
今回はJavaのクラスについて書いていきたいと思います。
オブジェクト指向の始まりみたいなとこなのでぜひ理解していきたいです。
##クラスとは
例えば、下記のようなまとまったデータがあるとします。
商品ID | 商品名 | 値段 | 在庫 |
---|---|---|---|
1 | チョコ | 10 | true |
このデータをまとめてプログラミングで扱いたい。 | |||
でも配列だと、数値や文字列が混ざってて一括で扱うのは無理や。。 | |||
こんな時に使うのがオブジェクトです。 | |||
そしてそのオブジェクトの設計図となるのがクラスなんです!! |
##クラスの定義の仕方
public Class Item{
int itemId;
String itemName;
int price;
LocalDate date;
}
こんな感じで設計します。
「int itemId;」とかはメンバ変数といい、何か処理をしたい時はメソッドを作成します。
###コンストラクタ
クラスを作るうえでコンストラクタというのも重要になってきます。
コンストラクタは、インスタンスを作成する際に自動で呼ばれるメソッドで
メンバ変数の初期化などオブジェクトを作成する断崖で実行したい処理を記述します。
public Class Item{
int itemId;
String itemName;
int price;
boolean stock;
//ここからがコンストラクタ
public Item(String itemId ,String itemName,int price,boolean stock){
this.itemId = itemId;
this.itemName = itemName;
this.price = price;
this.stock = stock;
}
}
コンストラクタはクラス名と同じ名前にする必要があります。
###デフォルトコンストラクタ
ちなみにコンストラクタを定義しなかった場合はデフォルトコンストラクタと呼ばれるものが呼び出されます。
public Item(){
super();
}
(アクセス修飾子) クラス名(){
super();
}
引数なしのコンストラクタになっております。
一つでもコンストラクタを定義したらデフォルトコンストラクタは作成されない為、引数なしのコンストラクタも別で欲しい場合は自分で定義する必要があります!
##インスタンス化
それでは作成したクラスをオブジェクトにしてみましょう。
クラスからオブジェクトを作成することをインスタンス化といいます。
//引数あり
Item item1 = new Item(1,"チョコ",10,true);
//引数なし(デフォルトコンストラクタ)
Item item1 = new Item();
//メンバ変数の呼び出し
item1.itemId;
item1.itemName;
これでオブジェクトが作成されまとまったデータを扱えるようになりました!
##さいごに
クラスどうだったでしょうか
今回は簡単な設計でかつメソッドとかもない状態でしたが、もっと細かくみればいろんな機能があります。
軽くイメージが掴めたら幸いです。
他にもこんな機能があるとか、間違ってたらコメントください。
ご覧いただきありがとうございました。