4. 类的继承
4. 类的继承
1. 继承 Inheritance
- 继承是面向对象程序设计的精髓之一
- 实现了以类为单位的高抽象级别代码复用
- 继承是新定义类能够几乎完全使用原有类属性与方法的过程
继承
2. 子类、父类、超类
子类、父类、超类
3. 类继承的构建
在定义类是声明继承关系
1 | class <类名>(<基类名1>, <基类名2>): |
基类名可以带路径:ModuleName.BaseClassName
4. 类继承的使用
- 基类的属性基本等同于定义在派生类中
- 派生类可以直接使用基类的类属性、实例属性
- 派生类可以直接使用基类的各种方法
- 使用基类的类方法和类属性时,要用基类的类名调用
isinstance(obj, cls)
issubclass(子类名,父类名)
判断继承关系的内置函数。
Python采用深度优先、从左至右的方法实施多继承。
派生类的约束:
- 派生类只能继承基类的公开属性和方法
- 派生类不能继承基类的私有属性和私有方法
object
类是Python
所有类的基类
- object是python最基础类的名字,不要用中文去理解
- 所有类定义时默认继承object类
- 保留属性和保留方法本质上是object类的属性和方法
5. Python对象的三个要素
- 标识identity:对象一旦构建不会改变,用
id()
获取 - type:对象的类型,用
type()
获取 - 值value:分为可变mutab与不可变immmutable
id(x)
, x is y
的使用。
6. 类的属性的重载
- 属性重载:派生类定义并使用了与基类相同名称的属性
- 方法重载:派生类定义并使用了与基类相同名称的方法
原则:
- 步骤1:优先使用派生类重定义的属性和方法
- 步骤2:然后寻找基类的属性和方法
- 步骤3:在寻找超类的属性和方法
7. 类的方法重载
完全重载:派生类完全重定义与基类名称的方法,直接在派生类中定义同名方法即可
增量重载:派生类拓展定义与基类相同名称的方法
1 | class <类名>(<基类名1>, <基类名2>): |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 aigonna!
评论