【第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」という名前をつけました。ブタさんの貯金箱のつもりです。
上の宣言から下に続いている、中カッコの間(一番外の ‘{‘ から ‘}’ まで)が、「貯金箱クラス」の定義になります。
さて、「クラス」に定義する性質には「フィールド」と「メソッド」があると説明しました。なので、「貯金箱クラス」の定義にこれらを実際に定義して、「貯金箱クラス」の定義が完成します。
■ここまでのまとめ■
・「クラス」は宣言を書く必要がある。
・「クラス」の宣言には、名前が必要である。
・「フィールド」と「メソッド」は、「クラス」の宣言から続く中カッコの間に書く。