物件導向 多繼承

2022-09-08 23:30:28 字數 1186 閱讀 2788

class master(object):

def __init__(self):

self.kongfu = "古法煎餅果子配方" # 例項變數,屬性

def make_cake(self): # 例項方法,方法

print("[古法] 按照 <%s> 製作了乙份煎餅果子..." % self.kongfu)

def dayandai(self):

print("師傅的大煙袋..")

class school(object):

def __init__(self):

self.kongfu = "現代煎餅果子配方"

def make_cake(self):

print("[現代] 按照 <%s> 製作了乙份煎餅果子..." % self.kongfu)

def xiaoyandai(self):

print("學校的小煙袋..")

# class prentice(school, master): # 多繼承,繼承了多個父類(school在前)

# pass

# damao = prentice()

# print(damao.kongfu)

# damao.make_cake()

# damao.dayandai()

# damao.xiaoyandai()

class prentice(master, school): # 多繼承,繼承了多個父類(master在前)

pass

damao = prentice()

print(damao.kongfu) # 執行master的屬性

damao.make_cake() # 執行master的例項方法

# 子類的魔法屬性__mro__決定了屬性和方法的查詢順序

print(prentice.__mro__)

damao.dayandai() # 不重名不受影響

damao.xiaoyandai()

說明:

劇情發展:

大貓掌握了 師傅的配方 和 學校的配方,通過研究,大貓在兩個配方的基礎上,建立了一種全新的煎餅果子配方,稱之為 "貓氏煎餅果子配方"。(子類重寫父類同名屬性和方法)

lua物件導向(繼承及多繼承)

還是個人感覺,lua輕量簡潔的語法,正式在於表這種類似於物件的使用,表 t 不使用 funtion t.add self,x self.a self.a x 結束t.add 5 t 使用 函式t add x self.a self.a x 結束t 新增 5 帳戶 父類 函式account new o...

php物件導向多繼承實現

在php物件導向概念程式設計中,乙個子類只能繼承乙個父類,但是從php5.4後新增traits實現 復用機制變向達到多繼承。trait 為了減少單繼承語言的限制,使開發人員能夠自由地在不同層次結構內獨立的類中復用方法集。2 trait會覆蓋繼承的方法,當前類會覆蓋trait方法 class peop...

python物件導向 多繼承區別

usr local bin python3 coding utf 8 構造方法繼承策略 在python2中,經典類是按照深度優先繼承構造方法的 新式類是按照廣度優先繼承構造方法的 在python3中,經典類和新式類都是按照廣度優先繼承構造方法的 class a object def init sel...