問題
- 以下の動物(Animal)に関するクラス階層を作成してください。
- Animal(抽象クラス)
- メソッド: makeSound()(鳴き声を返す)
- Mammal(哺乳動物)
- メソッド: giveBirth()(出産する)
- Bird(鳥)
- メソッド: layEggs()(卵を産む)
- Dog(犬)
- メソッド: guardHouse()(家を守る)
- Animal(抽象クラス)
ヒント
- Animal クラス(抽象クラス):
Animalクラスは抽象クラスであり、makeSound()メソッドを持ちます。- このクラスは他の動物クラスの基盤となり、共通の特徴や振る舞いを提供します。
- Mammal クラス(具象クラス):
MammalクラスはAnimalクラスを拡張し、giveBirth()メソッドを実装します。- これにより、哺乳動物の特有の行動を提供します。
- Bird クラス(具象クラス):
BirdクラスはAnimalクラスを拡張し、layEggs()メソッドを実装します。- これにより、鳥の特有の行動を提供します。
- Dog クラス(具象クラス):
DogクラスはMammalクラスを拡張し、guardHouse()メソッドを実装します。- これにより、犬の特有の行動を提供します。
このようにして、Animal を基盤にして、哺乳動物と鳥のクラスがそれぞれの特有の振る舞いを持ち、Dog クラスがそれらを継承して特有の行動を追加するクラス階層が構築されます。各クラスは、継承によって共通の特徴や振る舞いを再利用できるため、オブジェクト指向プログラミングの原則に基づいた設計となります。
→解答例
実習で理解を深めよう / Practice to deepen your understanding
この内容についてJavaDrillで実際に手を動かして学習できます
Practice with JavaDrill to learn hands-on


