繼承和多態(tài)之間的主要區(qū)別是什么?我今天在模塊開卷考試結(jié)束時遇到了這個問題,發(fā)現(xiàn)自己迷路了。我正在閱讀Head first Java,兩個定義似乎完全相同。我只是想知道主要區(qū)別在于我自己的想法。我知道有很多類似的問題,但是,我沒有看到哪些提供了明確的答案。
3 回答

慕容708150
TA貢獻(xiàn)1831條經(jīng)驗 獲得超4個贊
多態(tài)性:以類似方式處理不同類型的對象的能力。例如:長頸鹿和鱷魚都是動物,動物可以Move
。如果您有一個實例,Animal
那么您可以在Move
不知道或關(guān)心它是什么類型的動物的情況下打電話。
繼承:這是同時實現(xiàn)多態(tài)性和代碼重用的一種方法。
其他形式的多態(tài)性:還有其他實現(xiàn)多態(tài)性的方法,比如接口,它只提供多態(tài)性但沒有代碼重用(有時候代碼是完全不同的,比如Move
Snake Move
與Dog 會有很大不同,在這種情況下)在這種情況下,接口將是更好的多態(tài)選擇。
在其他動態(tài)語言中,可以使用Duck Typing實現(xiàn)多態(tài),即類甚至不需要共享相同的基類或接口,它們只需要一個具有相同名稱的方法?;蛘呦馢avascript一樣更加動態(tài),你甚至根本不需要類,只是具有相同方法名稱的對象可以多態(tài)使用。
添加回答
舉報
0/150
提交
取消