zoukankan      html  css  js  c++  java
  • 05 多继承、object类

    多继承

    Python中一个类可以继承多个父类,并且获得全部父类的属性和方法。

    class A:
        def demo(self):
            print("demo")
    
    
    class B:
        def test(self):
            print("test")
    
    
    class C(A, B):
        pass
    
    c = C()
    c.demo()
    c.test()
    

      运行结果:

    E:python3python3.exe F:/PycharmProjects/project3-class/xh_14_多继承.py
    demo
    test
    
    Process finished with exit code 0
    

       

    多继承父类方法冲突

    在开发中,如果父类之间存在同名的属性和方法,应尽量避免使用多继承。

    在python中,MRO(method resolution order 方法搜索规则)用来解决方法优先执行的问题,它是每个类的内置函数
    可以使用 print(类名.__mro__)来查看在存在同名方法时按何种优先级执行:

    (<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
    

      如上表示:如C类中存在这个方法,则执行C类中的方法,否则按顺序(A类,B类,Object类)来最优执行。

    object类

    python3.x版本,如果一个类没有指定父类,则默认object为它的父类。

    但在python2.x版本中,就没有默认指定object类。

    所以在开发中,如果一个类没有指定父类,务必继承object类。

  • 相关阅读:
    我的项目物业收费
    我的项目人员定位
    我的简历
    我的项目证券分析
    MSIL探索-序
    VC++深入详解笔记.cpp
    减少图片分辨率
    PL/SQL Developer 7.1 正式版 完美破解
    Lamp软件环境安装
    CentOS 6.4 安装
  • 原文地址:https://www.cnblogs.com/Scorpicat/p/11719467.html
Copyright © 2011-2022 走看看