大家都知道继承的目的是为了让子类可以使用父类的成员,实现代码的复用,但是在多继承中会出现各种问题:
class Father(object):
def __init__(self, name):
self.name = name
print("Im father")
class Son_1(Father):
def __init__(self, age, name):
self.age = age
Father.__init__(self, name)
print("Im Son_1")
class Son_2(Father):
def __init__(self, gender, name):
self.gender = gender
Father.__init__(self, name)
print("我是Son_2")
class GrandSon(Son_1, Son_2):
def __init__(self, name, age, gender):
Son_1.__init__(self, age, name)
Son_2.__init__(self, gender, name)
pass
grand_son = GrandSon("张三", 18, "男")
print(GrandSon.__mro__)
在上面的代码里,写了四个类,并且他们的继承关系非常清楚,Son1和Son2都继承自Father,而GrandSon刚好继承Son1,Son2,这样就是经典的菱形继承也叫钻石继承,