Python还允许多继承,也就是一个子类可以有多个基类。
实例:

class BaseA(object):  # 定义父类A
    def move(self):
        print("父类A函数!")


class BaseB(object):  # 定义父类B
    def move(self):
        print("父类B函数!")


class BaseC(BaseA):
    def move(self):
        print("子类C函数!")


class Sub(BaseC, BaseB):
    pass


def main():
    inst01 = Sub()
    inst01.move()


if __name__ == '__main__':
    main()

以上代码输出结果为:

子类C函数!

以上代码定义了2个基类,2个基类中都定义了move()方法。BaseC继承自BaseA并且重载了move()函数。Sub继承自BaseB和BaseC,并且没有定义自己的成员。
当子类继承了多个父类,并且调用一个在几个父类中共有的成员函数时,Python解释器会选择距离子类最近的一个基类的成员方法。在本例中Sub继承自BaseC和BaseB,所以move()方法的搜索顺序是:Sub、BaseC、BaseA、BaseB。

注意:
设计多个父类的继承关系时,要尽量避免多个弗雷中出现同名成员,如果不可避免,则应当留意子类定义中引用父类的顺序。

0条评论

相关推荐

Python函数

在编程中使用函数可以写出优雅的程序结构,模块化的结构使程序简单化,并提高了...

入门教程 2019-05-20 15:12:29

Python综述

Python是一种可以撰写跨平台应用程序的面向对象程序设计语言,它具有卓越...

入门教程 2019-05-21 09:33:16

Python异常

异常处理是编程语言中的一种机制,用于处理软件或信息系统中出现的异常状况(即...

入门教程 2019-05-20 17:20:26

Python基本数据类型

顾名思义,计算机就是用来处理各种各样的数据的机器,这些数据可能包括:数字,...

入门教程 2019-05-17 14:51:54

流程控制

流程控制语句用来实现对程序流程的选择、循环和返回等进行控制。Python中...

入门教程 2019-05-20 11:17:04