# 定義乙個master類
class master(object):
def __init__(self):
# 屬性
self.kongfu = "古法煎餅果子配方"
# 例項方法
def make_cake(self):
print("按照 <%s> 製作了乙份煎餅果子..." % self.kongfu)
# 定義prentice類,繼承了 master,則prentice是子類,master是父類。
class prentice(master):
# 子類可以繼承父類所有的屬性和方法,哪怕子類沒有自己的屬性和方法,也可以使用父類的屬性和方法。
pass
# laoli = master()
# print(laoli.kongfu)
# laoli.make_cake()
damao = prentice() # 建立子類例項物件
print(damao.kongfu) # 子類物件可以直接使用父類的屬性
damao.make_cake() # 子類物件可以直接使用父類的方法
說明:
總結:
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()
說明: 單繼承 多繼承 菱形繼承
乙個類繼承另外乙個類,那麼該類就是子類 衍生類 被繼承的這個類叫做父類 基類,超類 繼承 1 單繼承 2 多繼承 python所有的類都預設繼承父類 object 如果子類想呼叫父類私有的,要先在父類裡面定義乙個公有的,然後在公有的裡面先調出私有,最後就可以間接的調出私有,不能在子類中定義公有 cl...
繼承(單繼承 多繼承 菱形繼承 虛繼承)
一 單繼承 單繼承是一種 乙個子類只有乙個直接父類 的繼承關係。二 多繼承 多繼承是一種 乙個子類有兩個或兩個以上直接父類 的繼承關係。三 菱形繼承 菱形繼承由兩個 或以上 單繼承,乙個多繼承構成,結構如下 顯然,上例中assistant類多繼承了student和teacher兩個類,而studen...
python 單繼承,多繼承
父類 class person def init self,name,age self.name name self.self.age age def introduce self print 父類方法person self.name 學生類 繼承 person class student pers...