(2018-04-02.Python从Zero到One)三、Python基础__3.7.5多继承

上一篇文章为:→3.7.4继承介绍以及单继承

多继承

1. 多继承

day08_python面向对象02-01.png

从图中能够看出,所谓多继承,即子类有多个父类,并且具有它们的特征

Python中多继承的格式如下:


# 定义一个父类
class A:
    def printA(self):
        print('----A----')

# 定义一个父类
class B:
    def printB(self):
        print('----B----')

# 定义一个子类,继承自A、B
class C(A,B):
    def printC(self):
        print('----C----')

obj_C = C()
obj_C.printA()
obj_C.printB()

运行结果:

----A----
----B----

说明

  • python中是可以多继承的
  • 父类中的方法、属性,子类会继承

注意点

  • 想一想:

    如果在上面的多继承例子中,如果父类A和父类B中,有一个同名的方法,那么通过子类去调用的时候,调用哪个?

#coding=utf-8
class base(object):
    def test(self):
        print('----base test----')
class A(base):
    def test(self):
        print('----A test----')

# 定义一个父类
class B(base):
    def test(self):
        print('----B test----')

# 定义一个子类,继承自A、B
class C(A,B):
    pass

obj_C = C()
obj_C.test()

print(C.__mro__) #可以查看C类的对象搜索方法时的先后顺序

下一篇文章为:→3.7.6重写父类方法与调用父类方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,573评论 0 11
  • 一:java概述: 1,JDK:Java Development Kit,java的开发和运行环境,java的开发...
    慕容小伟阅读 5,792评论 0 10
  • 〇、前言 本文共108张图,流量党请慎重! 历时1个半月,我把自己学习Python基础知识的框架详细梳理了一遍。 ...
    Raxxie阅读 19,202评论 17 410
  • 1 面向对象No6 面向对象 OO Object Oriented 编程时以对象为单元,封装数据和逻辑,以此提...
    征程_Journey阅读 4,882评论 0 2
  • 给我感觉我收获最大的是大元小师傅的分享,因为我之前也是拖延,但是有这样一个人现身说法,在精神上给了我很大的鼓舞。现...
    兜兜有糖902阅读 1,144评论 0 0