面向對象有三大特性,封裝、繼承和多態。
封裝就是將壹類事物的屬性和行為抽象成壹個類,使其屬性私有化,行為公開化,提高了數據的隱秘性的同時,使代碼模塊化。這樣做使得代碼的復用性更高。
相關推薦:《Python視頻教程》
繼承則是進壹步將壹類事物***有的屬性和行為抽象成壹個父類,而每壹個子類是壹個特殊的父類--有父類的行為和屬性,也有自己特有的行為和屬性。這樣做擴展了已存在的代碼塊,進壹步提高了代碼的復用性。
如果說封裝和繼承是為了使代碼重用,那麽多態則是為了實現接口重用。多態的壹大作用就是為了解耦--為了解除父子類繼承的耦合度。如果說繼承中父子類的關系式IS-A的關系,那麽接口和實現類之之間的關系式HAS-A。簡單來說,多態就是允許父類引用(或接口)指向子類(或實現類)對象。很多的設計模式都是基於面向對象的多態性設計的。
總結壹下,如果說封裝和繼承是面向對象的基礎,那麽多態則是面向對象最精髓的理論。掌握多態必先了解接口,只有充分理解接口才能更好的應用多態。