93 Python 類中的組合

2021-10-23 01:28:22 字數 902 閱讀 1719

目錄組合

「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...