python-继承,父类,子类
class Spell(object): def __init__(self, incantation, name): self.name = name self.incantation = incantation def __str__(self): return self.name + ' ' + self.incantation + '\n' + self.getDescription() def getDescription(self): return 'No description' def execute(self): print(self.incantation) class Accio(Spell): def __init__(self): Spell.__init__(self, 'Accio', 'Summoning Charm') class Confundo(Spell): def __init__(self): Spell.__init__(self, 'Confundo', 'Confundus Charm') def getDescription(self): return 'Causes the victim to become confused and befuddled.' def studySpell(spell): print(spell) spell = Accio() spell.execute() studySpell(spell) studySpell(Confundo())
输出:
Accio Summoning Charm Accio No description Confundus Charm Confundo Causes the victim to become confused and befuddled.
class A(object): def __init__(self): self.a = 1 def x(self): print("A.x") def y(self): print("A.y") def z(self): print("A.z") class B(A): def __init__(self): A.__init__(self) self.a = 2 self.b = 3 def y(self): print("B.y") def z(self): print("B.z") class C(object): def __init__(self): self.a = 4 self.c = 5 def y(self): print("C.y") def z(self): print("C.z") class D(C, B): def __init__(self): C.__init__(self) B.__init__(self) self.d = 6 def z(self): print("D.z")
obj = D()
print(obj.a)
print(obj.b)
print(obj.c)
print(obj.d)
obj.x()
obj.y()
obj.z()
输出:
2 3 5 6