class类的继承和子类(二) python
2013-11-21 16:37
211 查看
定义一个类的时候,可以在类名后面紧跟一对括号,在括号中指定所继承的父类,如果有多个父类,多个父类名之间用逗号隔开。
它们从父类那里继承了属性和方法。如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找。
下面看一个例子:
这里面的add_time函数和 add_times函数都是在操作list,那么我们可不可以简化,如何简化呢,因为他们是list类型,那么可以让他作为lits的子类来存在吗?
下面看这个list作为父类,namelist作为子类的小例子:
在这个例子中,NameList是list的子类,由于继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的,所以我们有list.
__init__([ ])直接使用父类名称调用其构造函数即可
结果为:
其中红色框是执行dir函数得到的结果;johnny是一个列表,所以dir(johnny)返回一个包含所有列表方法的列表。注意返回的列表只包含了字符串形式的方法名称,而不是方法对象本身。
那么下面看一下Athlete这个类的继承用法:
因为AthleteList是list的子类,所以可以直接用append函数和extend函数,不必再在class里面定义类似操作。
它们从父类那里继承了属性和方法。如果一个方法在子类的实例中被调用,或者一个属性在子类的实例中被访问,但是该方法或属性在子类中并不存在,那么就会自动的去其父类中进行查找。
下面看一个例子:
这里面的add_time函数和 add_times函数都是在操作list,那么我们可不可以简化,如何简化呢,因为他们是list类型,那么可以让他作为lits的子类来存在吗?
下面看这个list作为父类,namelist作为子类的小例子:
在这个例子中,NameList是list的子类,由于继承父类后,就能调用父类方法和访问父类属性,而要完成整个集成过程,子类是需要调用的构造函数的,所以我们有list.
__init__([ ])直接使用父类名称调用其构造函数即可
结果为:
其中红色框是执行dir函数得到的结果;johnny是一个列表,所以dir(johnny)返回一个包含所有列表方法的列表。注意返回的列表只包含了字符串形式的方法名称,而不是方法对象本身。
那么下面看一下Athlete这个类的继承用法:
因为AthleteList是list的子类,所以可以直接用append函数和extend函数,不必再在class里面定义类似操作。
相关文章推荐
- python 类继承与子类实例初始化
- Python开发基础-Day20继承实现原理、子类调用父类的方法、封装
- python中子类继承父类的__init__方法实例
- python基础之继承实现原理、子类调用父类的方法、封装
- Python基础-接口与归一化设计、抽象类、继承顺序、子类调用父类,多态与多态性
- python中单继承和多继承中子类默认继承父类的哪个构造函数__init__
- python子类继承(转自伊伊note)
- Python多类继承中,子类默认继承哪个父类的构造函数__init__
- [python相关]多类继承中子类默认继承哪个父类的构造函数__init__
- python3 继承 在子类中如何调用父类中的方法
- Python - 子类继承父类 和 Java有什么区别
- Python 子类继承父类
- Python基础-接口与归一化设计、抽象类、继承顺序、子类调用父类,多态与多态性
- python中子类继承父类的__init__方法实例
- Python 通过继承实现标准对象的子类
- 初识Python面向对象,父类与子类(继承),例子详解
- python 类继承与子类实例初始化
- python继承中重载问题:私有函数不能被子类重写
- python 子类继承父类的__init__方法
- 【再回首Python之美】【类】子类,父类的继承简例