zoukankan      html  css  js  c++  java
  • 类的继承

    1.什么是继承?

    继承是一种新建类的方式,新建的类称为子类,被继承的类称为父类。

    继承的特性是:子类会遗传父类的属性。

    强调:继承是类与类之间的关系。

    2.为什么要用继承?

    继承的好处是减少代码的冗余。

    3.如何用继承?

    在python中支持一个类继承多个父类。

    在python3中,如果一个类没有继承任何类,那么默认继承object类

    在python2中,如果一个类没有继承任何类,那么不会继承object类

    新式类
    但凡继承了object的类以及该类的子类,都是新式类
    经典类
    没有继承object的类以及该类的子类,都是经典类。python2中也有新式类,要手动添加

    在python3中都是新式类,只有在python2中才区别新式类与经典类

    python2中也可以继承object类 只是要自己手动添加object,这样他的子类都会有object。
    python2中括号里不写object是不会默认继承object的

    新式类vs经典类?

    class Parent1(object):
    pass

    class Parent3: # 不加括号也默认继承object # 如果一个类没有继承任何类,那默认继承object类
    pass

    class Parent4():
    pass

    class Parent2(object):
    pass


    class Sub1(Parent1, Parent2):
    pass


    print(Sub1.__bases__)
    print(Parent1.__bases__)
    print(Parent2.__bases__)
    print(Parent3.__bases__)
    print(Parent4.__bases__)

    # (<class '__main__.Parent1'>, <class '__main__.Parent2'>)
    # (<class 'object'>,)
    # (<class 'object'>,)
    # (<class 'object'>,)
    # (<class 'object'>,)
     
  • 相关阅读:
    BZOJ3672/UOJ7 [Noi2014]购票
    POJ3718 Facer's Chocolate Dream
    BZOJ1453:[WC]Dface双面棋盘
    BZOJ2957:楼房重建
    AtCoder Grand Contest 009 D:Uninity
    BZOJ2877:[NOI2012]魔幻棋盘
    BZOJ3065:带插入区间K小值
    BZOJ3489:A simple rmq problem
    浅谈主席树
    AtCoder Regular Contest 080 E:Young Maids
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9230042.html
Copyright © 2011-2022 走看看