如果在子類需要父類的構造方法就需要顯示地呼叫父類的構造方法,或者不重寫的構造方法。
型別1:如果子類沒有重寫__init__,子類會自動呼叫__init__
classf:
def__init__
(self, name)
: self.name = name
print
('name:'
+self.name)
defgetname
(self)
:return
'f:'
+ self.name
class
s(f)
:def
getname
(self)
:return
's:'
+ self.name
if __name__ ==
'__main__'
: s = s(
'sun'
)print
(s.getname(
))
執行結果:
型別2:如果重寫__init__,例項化子類,就不會呼叫父類的__init__方法
classf:
def__init__
(self, name)
: self.name = name
print
('name:'
+self.name)
defgetname
(self)
:return
'f:'
+ self.name
class
s(f)
:def
__init__
(self, name)
: self.name = name
print
('sname:'
+self.name)
defgetname
(self)
:return
's:'
+ self.name
if __name__ ==
'__main__'
: s = s(
'sun'
)print
(s.getname(
))
執行結果:
型別3:子類重寫__init__,就要繼承父類的構造方法,可以使用super關鍵字
classf:
def__init__
(self, name)
: self.name = name
print
('fname:'
+self.name)
defgetname
(self)
:return
'f:'
+ self.name
class
s(f)
:def
__init__
(self, name)
:super
(s,self)
.__init__(name)
self.name = name
print
('sname:'
+self.name)
defgetname
(self)
:return
's:'
+ self.name
if __name__ ==
'__main__'
: s = s(
'sun'
)print
(s.getname(
))
執行結果:
python之繼承父類
import unittest class person object def age self print this is father s age def self print this is father s class student person def student self prin...
php 怎麼繼承父類的變數 php如何繼承父類方法
php繼承父類方法 使用student類繼承person類,為 class student extends person php繼承父類方法 在php中不能定義重名的函式,也包括不能再同乙個類中定義重名的方法,所以也就沒有方法過載。單在子類中可以定義和父類重名的方法,因為父類的方法已經在子類中存在,...
python子類如何繼承父類的例項變數?
型別1 父類和子類的例項變數均不需要傳遞 classa object def init self self.name cui defget name self return self.name class b a def init self super b,self init self.age 12...