你得到的答案是好的,並解釋什麼是多型性。我認為這也有助於理解它有用的一些原因。
在某些缺乏多型性的語言中,您會發現自己處於這樣一種情況:您希望對不同型別的物件執行概念上相同的操作,而在這種情況下,必須為每種型別實現不同的操作。例如,在類似python的語法中:def dosomething(thing):
if type(thing)==suchandsuch:
#do some stuff
elif type(thing)==somesuch:
#do some other stuff
elif type(thing)==nonesuch:
#yet more stuff
這有點問題。最大的問題是它會導致非常緊密的耦合和大量的重複。您很可能在**中的許多地方都有相同的測試集。如果新增必須支援此操作的新型別,會發生什麼情況?你必須找到每乙個你有這種條件的地方,並新增乙個新的分支。當然,你必須有權訪問所有相關的源**才能進行這些更改。在這種條件邏輯之上是冗長的,在實際情況下很難理解。
最好能寫:thing.dosomething()
除了短得多之外,這會導致耦合更鬆散。這個示例/解釋是針對傳統的oo語言(如python)編寫的。比如說,函式式語言的細節有點不同。但是多型性的許多一般用途仍然相同。
多型的解釋
多型就是指程式中定義的引用變數所指向的具體型別和通過該引用變數發出的方法呼叫在程式設計時並不確定,而是在程式執行期間才確定,即乙個引用變數倒底會指向哪個類的例項物件,該引用變數發出的方法呼叫到底是哪個類中實現的方法,必須在由程式執行期間才能決定。因為在程式執行時才確定具體的類,這樣,不用修改源程式 ...
python多型理解 多型有啥用
什麼是多型?多型顧名思義多種狀態,在python中,不同的物件呼叫同乙個介面,表現出不同的狀態,稱為多型。class duck def who self print i am a duck class dog defwho self print i am a dog class cat defwho...
python中多型和多型性的理解
多型怎麼理解?一類事物,有多種形態,比如動物類,可以有貓 狗 雞。乙個抽象類有許多子類 class animal object deftalk self pass class cat animal 動物的形態一 貓 deftalk self print 這是貓 class dog animal 動物...