クラスの継承 コンストラクタの再利用
class A:
def __init__(self):
self.a = 100class B:
def __init__(self):
self.b = 200
class C(A, B):
def __init__(self):
A.__init__(self)
B.__init__(self)
print("a + b = ", self.a + self.b)
c = C() # => a + b = 300
クラス継承の時
super().__init__(self):
とか書いてた気がするけど、この書き方でも行ける
# -*- coding: utf-8 -*-
class BaseClass(object): # objectクラスを継承すること
def __init__(self, a, b):
self.a = a
self.b = bdef sum(self):
return self.a + self.bclass DerivedClass(BaseClass):
def __init__(self, a, b):
# 再利用している
super(DerivedClass, self).__init__(a, b)# スーパークラスのメソッドもここで使える
print self.sum()if __name__ == '__main__':
cls = DerivedClass(10, 5)
print "sum:" + str(cls.sum())
print "a:" + str(cls.a)
print "b:" + str(cls.b)