当前位置 博文首页 > python中子类与父类的关系基础知识点

    python中子类与父类的关系基础知识点

    作者:小妮浅浅 时间:2021-07-29 18:45

    在对于python中类的使用上,我们分出了子类和父类两种。对于这二者之间的关系,我们可以简单理解为继承。不过python中加入了实例的讨论,那么对于继承后的子类来说,父类的实例是否被继承又是我们所需要思考的问题。下面我们就子类和父类进行简单介绍,然后就二者之间的继承关系重点分析。

    1.概念

    子类和父类主要描述的是类之间的继承关系,即所属关系。继承的类可在被继承的类的基础上添加格外的参数和行为,新类称为子类,扩展类;被继承的类称为基类、父类或者超类。

    2.继承关系

    子类与父类的关系是 “is” 的关系,如上 Cat 继承于 Animal 类,我们可以说:

    “A”是 Animal 类的实例,但,“A”不是 Cat 类的实例。

    “C”是 Animal 类的实例,“C”也是 Cat 类的实例。

    判断对象之间的关系,我们可以通过 isinstance (变量,类型) 来进行判断:

    print('"A" IS Animal?', isinstance(A, Animal))
    print('"A" IS Cat?', isinstance(A, Cat))
    print('"C" IS Animal?', isinstance(C, Animal))
    print('"C" IS Cat?', isinstance(C, Cat))

    Python实现子类调用父类的方法

    python和其他面向对象语言类似,每个类可以拥有一个或者多个父类,它们从父类那里继承了属性和方法。如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找。

    继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的。

    子类不显式调用父类的构造方法,而父类构造函数初始化了一些属性,就会出现问题
    如果子类和父类都有构造函数,子类其实是重写了父类的构造函数,如果不显式调用父类构造函数,父类的构造函数就不会被执行,导致子类实例访问父类初始化方法中初始的变量就会出现问题。

    jsjbwy