#!/usr/bin/env python
# coding:UTF-8
"""
@version: python3.x
@author:曹新健
@contact: 617349013@qq.com
@software: PyCharm
@file: 多重继承.py
@time: 2018/10/22 17:11
"""
'''
1.多重继承就是一次继承多个父类的程序片段,父类之间用逗号分隔开。
2.如果多重继承时,多个父类具有相同名称的方法,就要注意搜索顺序,基本上是从子类开始
寻找名称,接着是同一层级的父类从左到右搜索,再到更上层父类从左到右搜索,直到到达
顶层为止。
3.一个子类在寻找指定的属性或者方法时,会根据类的__mro__属性元组中的元素顺序寻找
(MRO全名是Method Resolution Order,即方法解析顺序),若想直到直接父类,则可以用
类的__bases__来得知父类是哪个或者哪些。
4.__mro__是只读属性,但可以通过修改__bases__来修改__mro__。
5.在定义类时,如果python解释器不能生成__mro__,会引发TypeError错误。
6.如果一个父类中定义了抽象方法,而另一个父类实现了一个方法,且名称一样,那么子类
继承这两个父类的顺序决定抽象方法是否得意实现。
7.判断一个抽象方法是否实现也是按照__mro__中类的顺序,如果在__mro__中先找到有类实现
了方法,后找到定义了抽象方法的类,那么就会认定已经实现了抽象方法。
'''
class Test1:
def test(self):
print(&#
Python:多重继承
最新推荐文章于 2024-05-16 21:17:51 发布