【Java】クラスの定義とコンストラクタを作成し、インスタンスの生成をする

■クラスの定義

クラスとは、オブジェクト(フィールドやメソッド)を格納しておき、必要な時に呼び出して処理を実行する設計図のようなものである。
イメージとして良く例に挙げられるのがたい焼き機である。
たい焼き機をクラスとして、そこに「生地とあんこ」を入れれば、あんこ味のたい焼きが作られ、「生地とクリーム」を入れれば、クリーム味のたい焼きが作られる。

このように、汎用的な処理(たい焼きを作る機械:型)をあらかじめ用意しておくことで効率的に処理が実行できる。

■今回作成するプログラムの仕様

今回は、魚の名前と匹数を表示するクラスを作成する。

▼処理内容

・種の種類クラス

▼フィールド(メンバ変数)
種の名前
種の量

▼コンストラクタ
種の名前を初期化
種の量を初期化

コンストラクタとは、クラスをデータ型としたオブジェクトの生成(インスタンス)時に呼び出されるメソッドであり、クラス名とコンストラクタ名は同名とし、戻り値は指定しない。
一般的に、インスタンス時の引数でフィールド(メンバ変数)を初期化する時に使用する。

▼種の名前と量を出力するメソッド
「種の名前:(設定した名前)」と出力
「種の量:(設定した数)匹」と出力


・メインメソッド
種の種類クラスをインスタンス(引数:マグロ, 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匹

コメント