7. 面向对象总结
面向对象的特征
- 封装:
防止外部代码修改对象的内部状态,实现数据安全。
- 继承:
实现代码复用,子类个性化的添加和修改父类的方法。
- 多态:
当调用同一个方法时,对不同的对象呈现不同的行为。
- 抽象:
让设计者只考虑类的定义和调用;具体实现要靠子类。
封装方法总结
Python的封装方法有如下几种:
- 无封装,公用属性,任何语句都可以直接属性和方法。
- 私有属性和方法封装(以
__
开头且不以__
结尾的属性和方法)。 __slots__
列表封装(限制属性个数)。- 特性属性封装(用对应方法接管对属性的赋值、取值和删除操作)。
- 描述符协议封装(控制属性的赋值和取值等操作)。
继承总结
- 单继承:一个父类,安全稳定。
- 多继承:两个或两个以上的父类,同名的方法会冲突。需要了解MRO才能够掌控调用顺序。
- 尽量使用super() 函数来调用父类的方法。
多态:略!
抽象:略!