一、什麼是多型?
多型指的是同一種事物有多種形態;比如:水和冰都是水,人既是人也是動物;
多型帶來的特性是可以在不考慮物件具體型別的情況下使用物件;比如:只要是人就一定會說話、吃飯、呼吸,而不用考慮他是老人還是小孩子;
多型性帶來的好處在於減少使用者的學習成本;比如:我們考駕駛的時候只需要考汽車駕照就可以了,而不用分別去考寶馬汽車、日產汽車、賓士汽車的駕照;因為不管什麼品牌的汽車,它都是汽車;我們在駕駛汽車的時候,只要確定它是汽車就可以了,不需要考慮它是什麼品牌的汽車。
二、多型與鴨子型別假如有個物體具有鴨子的特徵,比如:有羽毛、會嘎嘎叫、走路搖搖晃晃,看起來像只鴨子;雖然它並不是鴨子,我們在程式碼層面可以把這個物品當作鴨子;
即使在設計程式的過程中,有多個實現目的不相關的功能,它們之間有相同的的特性,我們就把它們歸為了類,這就是多型與鴨子型別的思想。
在面向物件程式設計的3大特性中,封裝、繼承、多型更重要的是一種思維上的認知改變,這種認知上的改變會影響我們對設計程式碼框架結構的改變;所以,要讀懂大神的程式碼,最重要的不是讀懂程式碼本身,而是瞭解整個程式碼結構的思考方式。
最新評論