继承

作者: 大冰S | 来源:发表于2019-12-01 21:27 被阅读0次

    继承

    oop(面向对象的三大特性):继承、封装、多态

    单继承

    class p:
    ... p = 2
    ...
    class C(p):
    ... pass
    dir(C)
    ['class', 'delattr', 'dict', 'dir', 'doc', 'eq', 'format', 'ge', 'getattribute', 'gt', 'hash', 'init', 'init_subclass', 'le', 'lt', 'module', 'ne', 'new', 'reduce', 'reduce_ex', 'repr', 'setattr', 'sizeof', 'str', 'subclasshook', 'weakref', 'p']

    C继承p

    C.base
    <class 'main.p'>
    p.base
    <class 'object'>

    类的base属性即该类的父类,object是所有类的基类(公共父类)
    子类中有与父类同名称的方法时(重写),子类会把父类中同名称的方法覆盖,可以在子类的初始化方法中调用父类的初始化方法(super():获取父类对象)

    多继承

    子类继承了两个父类

    class P1:
    ... p1 = 1
    ...
    class P2:
    ... p2 = 2
    ...
    class C(P1,P2):
    ... pass
    ...
    C.p1
    1
    C.p2
    2
    C.mro
    (<class 'main.C'>, <class 'main.P1'>, <class 'main.P2'>, <class 'object'>)

    相关文章

      网友评论

          本文标题:继承

          本文链接:https://www.haomeiwen.com/subject/csltgctx.html