python 继承

单继承

class 类名(父类名):

    pass
关于 super
  • 在 Python 中 super 是一个 特殊的类
  • super() 就是使用 super 类创建出来的对象
  • 最常 使用的场景就是在 重写父类方法时,调用 在父类中封装的方法实现

也就是既要调用父类的方法,又要对该方法进行重写 则使用。

 

在 Python 2.x 时,如果需要调用父类的方法,还可以使用以下方式:

父类名.方法(self)

 

父类的 私有属性 和 私有方法

  1. 子类对象 不能 在自己的方法内部,直接 访问 父类的 私有属性 或 私有方法
  2. 子类对象 可以通过 父类 的 公有方法 间接 访问到 私有属性 或 私有方法
  • 私有属性、方法 是对象的隐私,不对外公开,外界 以及 子类 都不能直接访问
  • 私有属性、方法 通常用于做一些内部的事情

 

 

多继承

class 子类名(父类名1, 父类名2...)
    pass

 

  • 子类 可以拥有 多个父类,并且具有 所有父类 的 属性 和 方法

提示:开发时,应该尽量避免这种容易产生混淆的情况! —— 如果 父类之间 存在 同名的属性或者方法,应该 尽量避免 使用多继承

 

  • Python 中针对  提供了一个 内置属性 __mro__ 可以查看 方法 搜索顺序
  • MRO 是 method resolution order,主要用于 在多继承时判断 方法、属性 的调用 路径
print(C.__mro__)

 

posted @ 2021-06-14 18:58  华北业余选手  阅读(43)  评论(0)    收藏  举报