1. 程式人生 > >面向對象詳解

面向對象詳解

python

面向對象:對象各自完成各自任務,面向過程是相當於領導者幫各對象完成任務。面向對象有點模塊化的意思,面向過程有牽一發動全身的意思。面向過程就有點什麽東西都得考慮到,面面俱到的意思。

技術分享

類:說到面向對象必須知道類,例:類就是一個飛機模板,飛機就是對象。類就是一個模型,對象就是一個真正看得見摸得著的實體:

技術分享

類的3個組成部分:

類型的名稱:類名

類的屬性:一組數據

類的方法:允許對進行操作的方法(行為),也就是它的功能

技術分享 技術分享

定義一個類:

class 類名:

#屬性

#方法

def eat(self):

print(貓在吃魚)

def drink(self):

print(貓在喝kele...)

創建一個對象就是在內存中開辟了一個內存空間

技術分享創建對象結果就是返回一個內存指向值。

技術分享對象使用的方法。

屬性不要在類裏面定義,直接在調用時添加即可:

技術分享

調用屬性時也可以直接用函數定義在類裏,然後通過類調用即可。

技術分享self是誰調用self就是誰。

__init__:初始化對象屬性,不需要調用自動調用即可執行,默認值的設定。也稱為魔法方法,具有特殊功能的方法。

最好的屬性添加應該在初始化對象時通過__init__初始化,然後在調用類時傳遞參數。

技術分享

__str__方法:必須要用return,也是自動調用,用來反映對象的描述信息。

技術分享

類裏面的屬性就相當於全局變量,然後類裏面的方法都可以調用它。

烤地瓜,屬性值累加到對象定義完才是真正完成:

技術分享

存家具:在對象裏放對象。

技術分享

隱藏對象屬性:直接獲取屬性不安全,比如查看某人的工資,要別人允許才行,允許就return返回值,不允許就不rerurn,應該把這個屬性做成一個方法,那麽隱藏屬性就是通過方法來實現,不直接表現出來,這樣還可以避免設置成-10而程序不報錯的問題。

私有方法:加兩個__xx在函數裏的,那麽不讓在外面直接調用,而需要在另一個函數裏通過self.x的方式調用,這樣可以做到某些功能通過if判斷句驗證後才能調,起到一個控制作用:

技術分享

__del__方法:當沒有東西調用的時候就用到,一般遊戲裏英雄死的時候會用到,就像硬鏈接有幾個引用,直到最後一次引用被幹掉後就會執行__del__

技術分享

import randomrandom就相當於工具箱,sys是個模塊。sys.getrefcount(t)就相當查看硬鏈接數,它比實際的要多1.

技術分享

繼承:為什麽讓程序當中少寫代碼,直接繼承前面創建過的程序即可。讓子類直接調用父類即可,甚至貓類的吃可以繼承動物類的吃

技術分享

父類:class xx

子類:class xx(): 比父類多一個大括號。


面向對象詳解