封裝,繼承,多態是面向對象的三大特性;
封裝是定義類的準則,繼承是設計類的技巧,多態是使用類的技巧。對象是由類創建的。
完成某個工作,需要資源(數據,變量:屬性)和功能(函數:方法)共同運作實現。所以一個完整的類裏面需要包含這些:變量放在__init__裏面,功能實現是通過各個def。
封裝:相關功能的函數和變量放在一個類裏面,方便操作。封裝的另外一個好處就是,爲每個使用者(對象)提供了調用方法的引用和獨立的變量,相互之間不影響,沒有共享全局變量一旦某個函數對全局變量修改影響其它函數的弊端。
繼承:提高代碼的重用率,不需要重寫,只需要在原來的基礎上進行修改,比如增加某個功能,修改某個功能。其它都用繼承來實現。另外修改某個類,往往不會對它的子類產生影響,便於對代碼的管理。沒有的方法,子類可以直接調用父類的方法。已有的(重寫父類的方法),只會執行自己的,不會執行父類的,除非強制調用(注意:子類有__init__,就不會執行父類的__init__,所以在調用父類方法時,要先調用父類__init__方法,否則使用自己的__init__裏面缺少屬性並不能使父類方法正常運行)。
多態:建立在子類繼承父類並重寫父類的基礎上。重寫,會執行出不同效果。另外,重寫說明了名字一致。傳遞不同的對象參數就能調用對應的對象方法。要創建的對象:父子類裏面的子類,和另外單獨的那個。子類和父類重複的方法就是重寫的方法,也是多態使用的技巧針對的方法,要寫在單獨的那個裏面。