คำถามของฉันเกี่ยวกับกรณีพิเศษของ Animal super class
- ฉัน
Animal
สามารถและmoveForward()
eat()
Seal
Animal
ขยายDog
Animal
ขยาย- และมีสิ่งมีชีวิตพิเศษที่ยังขยายที่เรียกว่า
Animal
Human
Human
ใช้วิธีการspeak()
(ไม่ได้ใช้Animal
)
ในการใช้วิธีนามธรรมซึ่งยอมรับAnimal
ฉันต้องการใช้speak()
วิธี ดูเหมือนว่าจะเป็นไปไม่ได้หากไม่มีการลดทอนลง Jeremy Miller เขียนไว้ในบทความของเขาว่ามีกลิ่นเหม็น
อะไรจะเป็นวิธีการแก้ปัญหาเพื่อหลีกเลี่ยง downcasting ในสถานการณ์นี้?