多態(tài)

多態(tài)是面向?qū)ο蟮闹匾匦?簡單點說:“一個接口,多種實現(xiàn)”,就是同一種事物表現(xiàn)出的多種形態(tài)。
編程其實就是一個將具體世界進行抽象化的過程,多態(tài)就是抽象化的一種體現(xiàn),把一系列具體事物的共同點抽象出來, 再通過這個抽象的事物, 與不同的具體事物進行對話。
對不同類的對象發(fā)出相同的消息將會有不同的行為。比如,你的老板讓所有員工在九點鐘開始工作, 他只要在九點鐘的時候說:“開始工作”即可,而不需要對銷售人員說:“開始銷售工作”,對技術(shù)人員說:“開始技術(shù)工作”, 因為“員工”是一個抽象的事物, 只要是員工就可以開始工作,他知道這一點就行了。至于每個員工,當(dāng)然會各司其職,做各自的工作。
多態(tài)允許將子類的對象當(dāng)作父類的對象使用,某父類型的引用指向其子類型的對象,調(diào)用的方法是該子類型的方法。這里引用和調(diào)用方法的代碼編譯前就已經(jīng)決定了,而引用所指向的對象可以在運行期間動態(tài)綁定。再舉個比較形象的例子:
比如有一個函數(shù)是叫某個人來吃飯,函數(shù)要求傳遞的參數(shù)是人的對象,可是來了一個美國人,你看到的可能是用刀和叉子在吃飯,而來了一個中國人你看到的可能是用筷子在吃飯,這就體現(xiàn)出了同樣是一個方法,可以卻產(chǎn)生了不同的形態(tài),這就是多態(tài)!
多態(tài)的作用:

  1. 應(yīng)用程序不必為每一個派生類編寫功能調(diào)用,只需要對抽象基類進行處理即可。大大提高程序的可復(fù)用性。//繼承
  2. 派生類的功能可以被基類的方法或引用變量所調(diào)用,這叫向后兼容,可以提高可擴充性和可維護性。 //多態(tài)的真正作用,以前需要用switch實現(xiàn)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容