(1)面向對象程序設計有三大特征:封裝(Encapsulation)、繼承(Inheritance)、多態(Polymorphism)。這三個單詞很常見,大家還是記住為好!
(2)封裝(Encapsulation):類包含了數據和方法,將數據和方法放在一個類中就構成了封裝。
(3)繼承(Inheritance):Java是單繼承的(這點和C++有區別),意味著一個類只能繼承于一個類,被繼承的類叫父類(或者叫基類,baseclass),繼承的類叫子類。Java中的繼承使用關鍵字extends。但是,一個類可以實現多個接口,多個接口之間用逗號進行分割。實現接口使用關鍵字implements。
(4)多態(Polymorphism):多態最核心的思想就是,父類的引用可以指向子類的對象,或者接口類型的引用可以指向實現該接口的類的實例。多態之所以是這樣的是因為基于一個事實:子類就是父類!
(5)關于多態的一些重要說明:
當使用多態方式調用方法時,首先檢查父類中是否有此方法,如果沒有則編譯錯誤,如果有則再去調用子類重寫(Override)【如果重寫的話】的此方法,沒有重寫的話,還是調用從父類繼承過來的方法。
兩種類型的強制類型轉換:
向上類型轉換(upcast):將子類型引用轉換成父類型引用。對于向上類型轉換不需要顯示指定。
向下類型轉換(downcast):將父類型引用轉換成子類型引用。對于向下類型轉換,必須要顯示指定。向下類型轉換的原則:父類型引用指向誰才能轉換成誰。
多態是一種運行期的行為,不是編譯期行為!在編譯期間它只知道是一個引用,只有到了執行期,引用才知道指向的是誰。這就是所謂的“軟綁定”。
多態是一項讓程序員“將改變的事物和未改變的事物分離開來”重要技術。
以上內容為大家介紹了python面向對象(OOP)的三大特征,希望對大家有所幫助,如果想要了解更多Python相關知識,請關注IT培訓機構:千鋒教育。