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类的方法


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值