問題
- 以下の動物(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
クラスがそれらを継承して特有の行動を追加するクラス階層が構築されます。各クラスは、継承によって共通の特徴や振る舞いを再利用できるため、オブジェクト指向プログラミングの原則に基づいた設計となります。
→解答例