类之间的继承是面向对象设计的重要方法,通过继承可以达到简化代码和优化设计模式的目的。
Python类在定义时可以在小括号中指定基类,所有Python类都是object类型的子类,其语法如下:

class BaseClass(object):  # 父类定义
    block_class


class SubClass(baseClass):  # 子类定义
    block_class

子类除了具备自己block_class中定义的特性,还从父类中继承了父类的非私有特性。
实例:

# 定义一个父类
class Base(object):

    def __init__(self):
        print("父类的构造函数!")

    def __del__(self):
        print("父类的析构函数!")

    def move(self):
        print("父类函数!")


class SubA(Base):
    def __init__(self):
        print("子类A的构造函数!")

    def move(self):
        print("子类A函数!")


class SubB(Base):

    def __del__(self):
        print("子类B的析构函数!")
        super(SubB, self).__del__()


def main():
    instA = SubA()
    instA.move()
    del instA

    print("*" * 20)

    instB = SubB()
    instB.move()
    del instB


if __name__ == '__main__':
    main()

以上代码输出结果为:

子类A的构造函数!
子类A函数!
父类的析构函数!
********************
父类的构造函数!
父类函数!
子类B的析构函数!
父类的析构函数!

以上代码结束如下:
定义了一个基类Base,基类继承自object,并且定义了构造函数、析构函数、成员函数move()。
定义了子类SubA,继承自Base类,定义、重载了自己的构造函数、成员函数move()。
定义了子类SubB,继承自Base类,定义、重载了自己的析构函数。析构函数中用super关键字调用基类的析构函数。
完成类的定义后,分别实例化了两个子类的对象,并且调用了它们的move方法和析构函数。

注意:
在子类成员函数中用super关键字可以访问父类成员,其引用方法为super(SubClassName,self)。
在子类的析构函数中调用基类的析构函数是一种最佳时间,不这样做可能dao

0条评论

相关推荐

Python函数

在编程中使用函数可以写出优雅的程序结构,模块化的结构使程序简单化,并提高了...

入门教程 2019-05-20 15:12:29

Python综述

Python是一种可以撰写跨平台应用程序的面向对象程序设计语言,它具有卓越...

入门教程 2019-05-21 09:33:16

Python异常

异常处理是编程语言中的一种机制,用于处理软件或信息系统中出现的异常状况(即...

入门教程 2019-05-20 17:20:26

Python基本数据类型

顾名思义,计算机就是用来处理各种各样的数据的机器,这些数据可能包括:数字,...

入门教程 2019-05-17 14:51:54

流程控制

流程控制语句用来实现对程序流程的选择、循环和返回等进行控制。Python中...

入门教程 2019-05-20 11:17:04