■クラスの定義
クラスとは、オブジェクト(フィールドやメソッド)を格納しておき、必要な時に呼び出して処理を実行する設計図のようなものである。
イメージとして良く例に挙げられるのがたい焼き機である。
たい焼き機をクラスとして、そこに「生地とあんこ」を入れれば、あんこ味のたい焼きが作られ、「生地とクリーム」を入れれば、クリーム味のたい焼きが作られる。
このように、汎用的な処理(たい焼きを作る機械:型)をあらかじめ用意しておくことで効率的に処理が実行できる。
■今回作成するプログラムの仕様
今回は、魚の名前と匹数を表示するクラスを作成する。
▼処理内容
・種の種類クラス
▼フィールド(メンバ変数)
種の名前
種の量
▼コンストラクタ
種の名前を初期化
種の量を初期化
コンストラクタとは、クラスをデータ型としたオブジェクトの生成(インスタンス)時に呼び出されるメソッドであり、クラス名とコンストラクタ名は同名とし、戻り値は指定しない。
一般的に、インスタンス時の引数でフィールド(メンバ変数)を初期化する時に使用する。
▼種の名前と量を出力するメソッド
「種の名前:(設定した名前)」と出力
「種の量:(設定した数)匹」と出力
・メインメソッド
種の種類クラスをインスタンス(引数:マグロ, 200)
種の種類クラスをインスタンス(引数:サケ, 100)
それぞれのインスタンスについて、種の名前と量を出力するメソッドを呼び出す。
■サンプルコード
// 種の種類クラスを定義
class KindSpecies {
// 種の名前を保持するフィールド(メンバ変数)
private String str_species_name;
// 種の量を保持するフィールド(メンバ変数)
private int int_species_amount;
// コンストラクタ(クラス名と同じにする)
public KindSpecies(String name, int amount) {
// 引数に指定された値で、フィールド(メンバ変数)を初期化する
this.str_species_name = name;
this.int_species_amount = amount;
}
// 種の名前と量を出力するメソッド
public void PrintSpecies() {
System.out.println("種の名前:" + str_species_name);
System.out.println("種の量:" + int_species_amount + "匹");
}
}
// 種の種類クラスを使用するクラス(メイン)
public class Sample {
// メインメソッド
public static void main(String[] args) {
// 種の種類クラスをインスタンス
KindSpecies maguro = new KindSpecies("マグロ", 200);
KindSpecies sake = new KindSpecies("サケ", 100);
// それぞれインスタンスしたクラスについて、PrintSpeciesメソッドを呼び出し
maguro.PrintSpecies();
sake.PrintSpecies();
}
}
■実行結果
種の名前:マグロ
種の量:200匹
種の名前:サケ
種の量:100匹