python类的三大特性——继承

继承的概念

面向对象编程(OOP:Object Oriented Programming)的一个主要特性——继承。
继承:派生自同一个基类的不同类的对象具有一些共同特征。
继承的功能:解决代码复用问题。
通过继承产生的类称为“子类”或“派生类”,被继承的类称为“基类”、“父类”或“超类”。
继承的种类:单继承多继承
继承的实现方式:

  • 实现继承:使用基类的方法和属性而无需额外编程的能力。
  • 接口继承:父类定义了属性和方法的名称,但是没有实现,子类需要实现 父类的方法

继承

单继承

class Person(object):
    def run(self):
        print('people can run')    
class Child(Person):
    def say(self):
        print('i am a person')
a = Child()
a.run()
a.say()
>>>
people can run
i am a person

多重继承的MRO列表原理

MRO——Method Resolution Order(方法解决顺序)
主要用于多继承时判断属性的来源。
MRO列表主要是采用了C3线性化算法实现的,这里不拓展,可自行百度。
主要有以下个特性:

  • 多个父类时,会根据它们在列表中顺序进行查找。
  • 如果属性在下面两个父类都有合法的选择,则选择子类从左到右继承的第一个父类。
  • 属性如果在子类中找到,则子类优先于父类。

多继承

class Person(object):
    def run(self):
        print('people can run'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值