Java言語入門 〜C言語を学んだ君へ〜
[第9回]練習問題 第1問解答
第1問解答
第1問解説
簡単な継承が書けるかを確認する問題です。以下より、詳しく解説します。
ただし、基本的にカプセル化はほとんど意識して作成していません。
1〜11行目
Mammal(哺乳類)クラスを宣言します。
問題で指定したクラスではありませんが、DogクラスとCatクラスのスーパークラスとして作成します。
記述する内容は、以下のDogクラスとCatクラスの「共通点」です。
共通のMammalクラスの作成
項目 | 内容 |
---|---|
メンバ変数 | 年齢 |
コンストラクタ | 年齢を引数から受け取り、メンバ変数を初期化する |
メソッド1 | 歩く |
なお、メンバ変数の年齢ageは、継承先でも使えるように、「protected」を使っています。
「private」でもかまいませんが、その場合は継承先でも使える工夫をしてください。
13〜21行目:
Dogクラスを作成します。
Mammalクラスを継承しているため、「噛みつく」メソッドのみ記述するだけで済みます。
23〜31行目
Catクラスを作成します。
Mammalクラスを継承しているため、「ひっかく」メソッドのみ記述するだけで済みます。