python中类的继承详解

面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展

     (1)在类的继承中,存在父类跟子类,子类可以继承父类中所有的属性和方法,计算自己没有也可以使用父类的

class parentcls:   #父类
     form_1='大自然'
class childcls(parentcls):    #子类继承父类
       pass    #子类中什么方法属性都没有
ch=childcls()   #实例化一个子类
print(ch.form_1)#大自然,子类调用父类的属性所以输出结果是大自然

   (2)在类的继承中,如果父类中有参数,子类继承父类,此时子类实例化的时候要传参跟父类保持一致要不会报错

(3)继承具有传递性,如果B继承A,C继承B,那么C可以继承A中所有的属性跟方法,子类没有的方法属性可以找父类,父类也没有可以找父类的父类

class A:
     from_1='动物园'
class B(A):
     pass
class C(B):
      pass
#s实例化一个C类
c=C()
print(c.from_1)  #C可以使用A中的属性,输出结果是动物园

 (4)如果一个子类继承多个父类,多个父类中具有同名的方法的时候调用就近原则,python中内置属性__mro__,可以查看方法搜索顺序,确定子类调用的方法顺序

(5)父类中的私有属性不能被继承

(6)继承是单向的,子类的属性父类不能调用 

(7)super()函数,超继承

      super() 子类使用super()函数,继承父类的方法,如果父类的方法里是传参数的,子类方法也要正常传参数

在子类中使用super()代替:父类.参数,当父类方法名发生变化的时候不需要去修改对应的子类中的调用的名字


class B(A):
    def __init__(self):
        print("打印属性 b")
        A.__init__(self)  # super() 等同于 super(B, self)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值