這裏B
和C
都從A
派生,但具有不同的__init__()
參數。我的問題是如何在這裏編寫正確/優雅的代碼來初始化self.a,self.b,self.c1,self.c2,如下例所示: 也許還有一個問題是 - 在__init()__
函數中做這個變量設置是否是一種很好的編碼習慣,或者稍後使用更簡單的__init__()
函數以及爲每個類別做set()
函數更好,這看起來不像做它那麼簡單在__init()__
?與父類的python多繼承有不同的__init __()
class A(object):
__init__(self,a):
self.a=a
class B(A):
__init__(self,a,b):
super(B,self).__init__(a)
self.b=b
class C(A):
__init__(self,a,c1,c2):
super(C,self).__init__(a)
self.c1=c1
self.c2=c2
class D(B,C)
__init__(self,a,b,c1,c2,d):
#how to write the correct/elegant code here to initialize self.a,self.b,self.c1,self.c2?
#can I use super(D,self) something?
self.d=d
self.dd=self.a+self.b+2*self.c1+5*self.c2+3*self.d
d=D(1,2,3,4,5)
謝謝你的評論@Karin,但這裏的問題是不同的,更開放。 –