目錄組合
「is-a
」關係, 我們可以使用
」繼承
」; 從而實現子類擁有的父類的方法和屬性;
「is-a
」關係指的是類似這樣的關係: 狗和動物, dog is animal; 狗類就應該繼承動物類; 「
has-a
」關係, 我們可以使用
」組合
」, 也能實現乙個類擁有另乙個類的方法和屬性;
「has-a
」關係指的是這樣的關係: 手機擁有cpu, mobilephone has a cpu;
#測試組合
class a1:
def say(self):
print("a!!!!!")
class b1(a1): #繼承
pass
b1 = b1()
b1.say() #繼承,實現**的復用
class a2:
def say(self):
print("a2!!!!!")
class b2():
def __init__(self,a): #組合實現**復用,但繼承還有自己的**結構,不能取代繼承
self.a = a
a2 = a2()
b2 = b2(a2)
b2.a.say()
輸出:d:\wwwroot\pyiteam\venv\scripts\python.exe d:/wwwroot/pyiteam/mypro_obj/mypy02.py
a!!!!!
a2!!!!!
process finished with exit code 0
python的類的組合
一 定義 組合 為乙個類的物件封裝屬性,這個屬性是另乙個類的例項 二 組合舉例 1 模擬遊戲類 要求 1 建立乙個任務角色類gamerole,構造方法中封裝三個屬性 name,ad 攻擊力 hp 血量 2 gamerole類中定義乙個方法attack 例項化兩個物件以及互相攻擊的功能 3 建立乙個工...
關於python類的組合
關於python類的組合,絞盡腦汁之後,寫了乙個生活中的簡單例子,有需要的童鞋可以理解下,水平有限,不對的地方望指正 coding utf 8 class engine 某發動機廠家描述發動機物件 definit self,enginenumber,horsepower self.enginenum...
Python高階 類的組合
定義乙個人的類,人有頭 軀幹 手 腳等資料屬性,這幾個屬性又可以是通過乙個類例項化的物件,這就是組合 1 class hand 2pass 3class foot 4pass 5class trunk 6pass 7class head 8pass910 class person 11def ini...