面向?qū)ο?/h2>

面向?qū)ο笕筇匦裕悍庋b,繼承,多態(tài)?

封裝:根據(jù)職責(zé)將屬性和方法封裝到一個抽象的類中

繼承: 實現(xiàn)代碼的重用,相同的代碼不需要重復(fù)的編寫

多態(tài):不同的子類對象調(diào)用相同的父類的方法,產(chǎn)生不同的結(jié)果


兩個重要的概念: 類和對象? ? 類是具有相同特征和行為事物的統(tǒng)稱,具有相似內(nèi)部狀態(tài)和運動規(guī)律的實體的集合 。對象是某一具體事物的存在,可以直接使用的。

類由類名,類屬性,類方法三部分構(gòu)成? 定義類時 class 類名(object): 為新式類? 不加object為經(jīng)典類,類名的命名規(guī)則按照“大駝峰”規(guī)則命名,單詞首字母大寫。

對象的格式為: 對象名 = 類名()? ?在創(chuàng)建對象中,? 魔法方法—init—方法是默認執(zhí)行的,在init方法中可以直接設(shè)置對象的屬性。

—str—也是魔法方法,它的作用是當(dāng)使用print輸出對象時,只要定義了str方法,那么就會打印從這個方法中return的數(shù)據(jù)。

如果有一個對象,當(dāng)需要對其進行修改屬性時,有兩種方法 : 1:對象名.屬性名 = 數(shù)據(jù) (直接修改) 2:對象名.方法名()? ---(間接修改)? ?為了更好的保護屬性安全 可以將屬性定義為私有屬性,然后添加一個可以調(diào)用的方法供調(diào)用? 注:私有屬性時給屬性前加兩個—

創(chuàng)建對象后,python解釋器默認調(diào)用init方法,當(dāng)刪除一個對象時,python解釋器也會默認調(diào)用一個方法,這個方法為del()方法, del方法 程序結(jié)束后自動會調(diào)用

單繼承 :在程序中,繼承描述的是事物之間的所屬關(guān)系,在定義類時,第一個類為基類,繼承自object,子類繼承父類時須在變量名后括號里寫上父類名,父類的屬性,方法都會繼承給子類? ?但是注意:不能訪問父類中的私有屬性和方法。

多繼承: 即子類有多個父類,并具有它們的特征 。多繼承是在子類變量名后括號里寫上多個父類名。

重寫: 子類中,有一個和父類相同名字的方法,在子類中的方法會覆蓋掉父類中同名的方法。如果想調(diào)用父類方法就要用到super().函數(shù)

我們通常也會把創(chuàng)建出來的對象叫做類的實例,創(chuàng)建對象的動作叫做實例化。對象的屬性叫做實例屬性,對象調(diào)用的方法叫做實例方法。? 每一個對象都有自己獨立的內(nèi)存空間,保存各自不同的屬性。多個對象的方法,在內(nèi)存中只有一份,在調(diào)用方法時,需要把對象的引用傳遞到方法內(nèi)部。

在python中,類是一個特殊的對象———類對象 類對象在內(nèi)存中只有一份,使用一個類可以創(chuàng)建出很多個對象實例。類對象還擁有自己的屬性和方法:類屬性和類方法。 通過類名.的方式可以訪問類屬性或調(diào)用類方法。

在python中屬性的獲取存在一個向上查找機制,首先在對象內(nèi)部查找對象屬性,沒有找到就會向上尋找類屬性

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容