【第9回】クラスを理解する(後編)
3.Javaで「クラス」を表現する
ここからは、Javaで実際に「クラス」を見ながら話を進めていきましょう。
まず、これからの説明の為に、プログラム全体を示します。
これまでの例ではコンピュータを出してきましたが、ここではもっと簡単な題材として、貯金箱を「クラス」で表現してみましょう。
ファイル名:PiggyBank.java
/* 貯金箱クラス。 */
class PiggyBank // (1)
{
/* 貯金箱に入っている金額。 */
int totalMoney = 0; // (2)
/* 貯金箱にお金を入れる。 */
void putCoin(int money) // (3)
{
totalMoney = totalMoney + money; // (4)
System.out.println("貯金箱に" + money + "円を入れました。");
}
/* 貯金箱を壊して、お金を取り出す。 */
int breakPiggyBank() // (5)
{
System.out.println("ガシャン!");
return totalMoney;
}
public static void main(String[] args)
{
// 貯金箱インスタンスを作る
PiggyBank bank = new PiggyBank(); // (6)
// 貯金箱にお金を入れる
bank.putCoin(100); // (7)
bank.putCoin(50);
// 貯金箱を壊してお金を取り出す
int money = bank.breakPiggyBank(); // (8)
System.out.println("貯金箱から" + money + "円を取り出しました。");
}
}
|
どうですか?
今までのプログラムより、少し複雑かもしれませんね。
では、実際に手で打ち込んで、プログラムを動かしてみてください。
うまく動かせたら、以下のような結果になるはずです。
> java PiggyBank 貯金箱に100円入れました。 貯金箱に50円入れました。 ガシャン! 貯金箱から150円を取り出しました。 |
では、いつものように、少しずつプログラムの中身を見ていきましょう。
まずは、「クラス」を作るよ、という宣言を書きます。
/* 貯金箱クラス。 */ class PiggyBank // (1) |
ここでは、クラスの名前を書く必要があります。貯金箱クラスには、「PiggyBank」という名前をつけました。ブタさんの貯金箱のつもりです。
上の宣言から下に続いている、中カッコの間(一番外の ‘{‘ から ‘}’ まで)が、「貯金箱クラス」の定義になります。
さて、「クラス」に定義する性質には「フィールド」と「メソッド」があると説明しました。なので、「貯金箱クラス」の定義にこれらを実際に定義して、「貯金箱クラス」の定義が完成します。
■ここまでのまとめ■
・「クラス」は宣言を書く必要がある。
・「クラス」の宣言には、名前が必要である。
・「フィールド」と「メソッド」は、「クラス」の宣言から続く中カッコの間に書く。