6.1.1定義類
函數定義用def;類定義用class;成員變量和方法;實例方法定義一個參數self【約定俗成的】;
__init__()成爲構造方法,用來構造該類的對象,python通過調用構造方法返回該類的對象。
構造方法是類創建對象的根本途徑
6.1.2對象的產生和使用
6.1.2對象的添加和刪除
下圖看不懂;;;;;
6.1.4沒看;有點複雜
6.2.1方法
這樣進行比較好;見下圖;
6.2.2類方法和靜態方法
書上給的代碼也有問題啊;
class Bird:
#類方法
def fly(cls):
print("類方法fly:",cls)
#靜態方法
def info(p):
print("靜態方法info:",p)
Bird.fly()
Bird.info('crazy')
b = Bird()
b.fly()
b.info('fkit')
這兩個先不學習了;看不懂;
6.3成員變量
class Hello:
a = 1
b = 2
def info(self):
print(Hello.a)
print(Hello.b)
print(Hello.a)
print('-----')
data = Hello()
data.info()
print('-----')
Hello.a = 3
Hello.b = 4
data.info()
print('-----')
6.3.2使用property函數定義屬性
看不懂上圖所示內容
6.4隱藏和封裝
封裝:將對象的狀態信息隱藏在對象內部,不允許外部程序直接訪問對象的內部信息,而是通過該類所提供的方法來實現對內部信息的操作和訪問。也就是將該隱藏的隱藏,該暴露的暴露
6.5類的繼承
6.5.2多繼承;最好不要使用;而是使用單繼承;
可以看到上圖1和圖2的結果不一樣,關鍵在於class Mouse(H2,H1)中的H1和H2的順序
6.5.3重寫父類的方法
也就是子類重寫父類的方法
6.5.4使用未綁定方法調用被重寫的方法
6.5.5使用super函數調用父類的構造方法
這些小環節 沒看懂
6.7多態
當同一個變量在調用同一個方法時,完全可能會呈現出多種行爲。也就是多態。
沒學習
6.8.1枚舉類型入門
實例有限並且固定的類,稱爲枚舉類
6.8.2枚舉的構造器
在定義枚舉實例時必須爲構造器參數設置值
不懂===!!!