Python类继承问题

class A(object):
    def a(self):
        self.b()
    def b(self):
        print('A---b')
class B(A):
    def b(self):
        print('B---b')
    def c(self):
        super(B, self).a()
B().c()   # B---b
# 结论1:子类重写父类的b方法,并且这个父类的b方法在父类的方法a中被调用,
# 则当子类调用父类的a方法时,a中会调用子类中被重写的b方法,而不会调父类的原始b方法。

class A(object):
    def a(self):
        print('--------A--------')
class B(object):
    def a(self):
        print('--------B--------')
class C(object):
    def a(self):
        print('--------C--------')
class D(A,B,C):
    def b(self):
        super(D, self).a() # 会自左向右先调用D以后的类(A)中的a方法
        super(A, self).a()  # 会自左向右先调用A以后的类(B)中的a方法
        super(B, self).a()  # 会自左向右先调用B以后的类(C)中的a方法
D().b()

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值