継承元のコンストラクタをオーバラーライドする
class Parent: def __init__(self, a, b): self.a = a self.b = b def w(self): print(self.b) class Child(Parent): def w(self): return super().w() child = Child(0, 'hello') child.w()
サブクラスで__init__を定義すると親クラスの上書きされてしまう。
class A: def __init__(self, name): self.name = name class B(A): def __init__(self, name, mail): super().__init__(name) self.mail = mail b = B("yamada", "gmail") b.name
class Parent: def __init__(self, name, age): self.name = name self.age = age def my_name(self): print("名前は" + self.name + "。年齢は" + str(self.age) + "歳。") class Child(Parent): def __init__(self, name, age): super().__init__(name, age) yamada = Child("yamada", 20) yamada.my_name()