python的多重继承

先写规律:子类可以调用所有父类中的方法,但是如果遇上方法重名python的多重继承是遵循从左往右继承,深度优先,不多说直接上代码
class grandfather:
    def speak(self):
        print("this is grandfather_def")


class father(grandfather):
    def speak(self):
        print("this is father_def")


class son(father):
    def speak(self):
        print("this is son_def")


class son2(grandfather):
    def speak(self):
        print("this is son2_def")


class myclass(son, son2):
    def speak(self):
        print("this is myclass_def")

obj = myclass()
obj.speak()  # 执行结果:this is myclass_def

#先执行myclass里的speak方法

class grandfather:
    def speak(self):
        print("this is grandfather_def")


class father(grandfather):
    def speak(self):
        print("this is father_def")


class son(father):
    def speak(self):
        print("this is son_def")


class son2(grandfather):
    def speak(self):
        print("this is son2_def")


class myclass(son, son2):
    pass

obj = myclass()
obj.speak()  # 执行结果:this is son_def
#执行的是son类里的方法

class grandfather:
    def speak(self):
        print("this is grandfather_def")


class father(grandfather):
    def speak(self):
        print("this is father_def")


class son(father):
    pass


class son2(grandfather):
    def speak(self):
        print("this is son2_def")


class myclass(son, son2):
    pass

obj = myclass()
obj.speak()  # 执行结果:this is father_def
#执行的是father类的方法

class grandfather:
    def speak(self):
        print("this is grandfather_def")


class father(grandfather):
    pass


class son(father):
    pass


class son2(grandfather):
    def speak(self):
        print("this is son2_def")


class myclass(son, son2):
    pass
obj = myclass()
obj.speak()  # 执行结果:this is son2_def
#执行的是son2类里的方法

class grandfather:
    def speak(self):
        print("this is grandfather_def")


class father(grandfather):
    pass


class son(father):
    pass


class son2(grandfather):
    pass


class myclass(son, son2):
    pass
obj = myclass()
obj.speak()  # 执行结果:this is grandfather_def
#执行的方法是grandfather类的方法


猜你喜欢

转载自blog.csdn.net/qq_37568964/article/details/80875884