面向对象编程的3大特性:
1、封装即能不暴露的变量函数过程方法的,就设置为私有属性。
2、继承即子类继承父类,并且子类完全可以替代使用父类和父类的父类暴露的变量属性函数过程方法。
3、多态即子类继承父类后,子类不仅拥有父类的功能,而且可以有自己的特有变量属性函数过程方法,并且可以重写,重载,覆盖父类的同样的函数过程方法。
聚合(松耦合a+b成一个新类)
泛化(类继承)
组合(紧耦合a的生命周期随b的建立(a是b的一部分))
依赖(最紧耦合a的修改会影响到b)
程序设计原则(可复用,可维护,增加功能只增加代码(尽量不修改代码)即松耦合):
单一性(尽量只有一种因素影响类的变化)、开放-封闭性(继承)、倒转依赖(基于抽象或接口)、迪米特规则(类尽量独立,必须要的尽量采用第三方类关联)