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