封装 enclosure
封装是指隐藏类的实现细节,方便其他人的调用。
封装的目的:
让使用者可以通过间接调用方法或属性操作对象。
所以Python使用封装时,必会使用私有属性和方法。
私有属性和方法:
以‘__’双下划线开头,不以双下滑线结尾的表示符为私有成员,
私有成员只能使用该类的方法,来进行访问和修改
1. 以__开头的属性为私有属性 如__vol
2. 以__开头的方法为私有方法 如__vol()
注:python封装是假的封装(模拟的封装)
比如通过dir查看属性就可以发现,其实私有属性被变成了_class__xx,所以才无法访问
多态 polymocphic
字面意思:‘多种状态’
多态是指在有继承/派生关系的类中,调用基类对象的方法,实际能调用子类的覆盖方法的现象叫多态
状态:
静态(编译时状态)
动态(运行时状态)
说明:
1,多态调用的方法与对象相关,不与类型相关
2,Python全部对象都只有“运行时状态(动态)”
没有C++语言里的编译时状态(静态)
继承 inheritance
继承是从已有的类中派生出新的类,新类具有原类的数据属性和行为,并
能拓展新的行为
继承的目的:
延续旧类的功能
单继承
语法:
class 类名(基类名):
语句块
说明:
单继承是指派生类由一个基类衍生出来的新类
多继承 multiple inheritance
多继承是指一个子类继承自两个或两个以上的基类
语法:
class 类名(基类名1,基类名2,...)
说明:
一个子类同时继承自多个父亲,父类的方法可以同时被继承下来
如果两个父亲中有同名的方法,而在子类中又没有覆盖此方法时,调用
结果难以确定
多继承的问题(缺陷)
标识符冲突问题
(一般不推荐使用多继承)