私の質問は、スーパークラスの動物の特別なケースについてです。
- 私の
Animal缶moveForward()とeat()。 Seal拡張しAnimalます。Dog拡張しAnimalます。- そしてまた延びている特別な生き物があります
Animalと呼ばれるがHuman。 Humanメソッドもspeak()実装しAnimalます(では実装されません)。
受け入れる抽象メソッドの実装では、メソッドAnimalを使用したいと思いspeak()ます。それはダウンキャストをしなければ不可能だと思われます。ジェレミー・ミラーは彼の記事で、ひどい臭いがすることを書いた。
この状況でダウンキャストを回避するための解決策は何ですか?