7. 面向对象总结

面向对象的特征

防止外部代码修改对象的内部状态,实现数据安全。

实现代码复用,子类个性化的添加和修改父类的方法。

当调用同一个方法时,对不同的对象呈现不同的行为。

让设计者只考虑类的定义和调用;具体实现要靠子类。

封装方法总结

Python的封装方法有如下几种:

  1. 无封装,公用属性,任何语句都可以直接属性和方法。
  2. 私有属性和方法封装(以 __ 开头且不以 __ 结尾的属性和方法)。
  3. __slots__ 列表封装(限制属性个数)。
  4. 特性属性封装(用对应方法接管对属性的赋值、取值和删除操作)。
  5. 描述符协议封装(控制属性的赋值和取值等操作)。

继承总结

  1. 单继承:一个父类,安全稳定。
  2. 多继承:两个或两个以上的父类,同名的方法会冲突。需要了解MRO才能够掌控调用顺序。
    • 尽量使用super() 函数来调用父类的方法。

多态:略!

抽象:略!