物件導向 多層繼承

2022-09-08 23:30:25 字數 1229 閱讀 1854

class master(object):

def __init__(self):

self.kongfu = "古法煎餅果子配方"

def make_cake(self):

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

class school(object):

def __init__(self):

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

def make_cake(self):

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

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

def __init__(self):

self.kongfu = "貓氏煎餅果子配方"

self.money = 10000 # 億美金

def make_cake(self):

self.__init__() # 執行本類的__init__方法,做屬性初始化 self.kongfu = "貓氏...."

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

# 呼叫父類方法格式:父類類名.父類方法(self)

def make_old_cake(self):

master.__init__(self) # 呼叫了父類master的__init__方法 self.kongfu = "古法...."

master.make_cake(self) # 呼叫了父類master的例項方法

def make_new_cake(self):

school.__init__(self) # 呼叫了父類school的__init__方法 self.kongfu = "現代...."

school.make_cake(self) # 呼叫父類school的例項方法,

class prenticeprentice(prentice): # 多層繼承

pass

pp = prenticeprentice()

pp.make_cake() # 呼叫父類的例項方法

pp.make_new_cake()

pp.make_old_cake()

print(pp.money)

物件導向繼承

using system class class1 class virtualclass class hiddenclass virtualclass class overrideclass virtualclass 結果為 父類 繼承類using system class class1 class...

物件導向 繼承

在原有物件的基礎上,略作修改,得到乙個新的物件,不影響原有物件的功能。即子類不影響父類,子類可以繼承父類的一些功能 復用 function createperson name,createperson.prototype.showname function var p1 new createpers...

物件導向,繼承

物件導向 使用物件時,只關注物件提供的功能,不關注內部實現的細節 特點 抽象 多型 封裝 繼承 組成 方法 函式 屬性 變數 工廠模式 原料 加工 出廠 問題 沒有new 每個物件都創造自己的函式,浪費資源 相當於每次都建立了乙個物件 使用new操作符,替我們建立了乙個空物件 通多this新增屬性 ...