OO基础:
抽象、
封装、
多态、
继承
OO原则:
封装变化,
多用组合、少用继承,
针对接口编程、不针对实现编程
为交互对象之间的松耦合设计而努力
对扩展开放,对修改关闭
依赖抽象,不要依赖具体类
最少知识原则
一个类应该只有一个引起变化的原因(尽量让每个类保持单一责任)