1,呼叫未繫結的超類構造方法
classbird:
def__init__
(self):
self.hungry =true
defeat(self):
ifself.hungry:
print("
eee"
) self.hungry =false
else
:
print("
no,thanks!")
#print("eat!")
class
songbird(bird):
def__init__
(self):
bird.
__init__
(self)
self.sound = "
squak
"def
sing(self):
(self.sound)
sb =songbird()
sb.eat()
2,使用super函式
__metaclass__=type#super函式只在新式類中起作用
class
bird:
def__init__
(self):
self.hungry =true
defeat(self):
ifself.hungry:
print("
eee"
) self.hungry =false
else
:
print("
no,thanks!")
#print("eat!")
class
songbird(bird):
def__init__
(self):
super(songbird,self).
__init__
() self.sound = "
squak
"def
sing(self):
(self.sound)
sb =songbird()
sb.eat()
乙個類繼承多個超類的情況下,只需要使用一次super函式就可以
子類的構造方法必須繼承父類的構造方法
public class person public person string name public class athletes extends person person類定義了乙個有參的構造方法,athletes類中會報錯,解決辦法是person類中加乙個無參的構造方法 父類寫了有參建構函...
類繼承 繼承類的建構函式
派生類不能直接訪問基類的私有成員,必須通過基類提供的公有方法。派生類不能繼承基類的建構函式,因為建構函式和成員函式存在區別 建構函式用於建立新的物件,而其他成員函式是被現有的物件呼叫。派生類建構函式必須使用基類的建構函式。建立派生類物件時,先建立基類物件,因此基類物件應該在進入派生類建構函式之前被建...
繼承中 父類構造方法對子類構造方法的影響
在沒有有參構造方法時,所建類中是有乙個預設無參構造方法的,所以子類son中新創乙個物件,執行結果會顯示父類中的那個構造方法。那為什麼會顯示父類構造方法呢?原因如下 把子類中那個預設的無參構造方法顯示出來 右鍵 sources gene generate constructors from super...