一、面向对象三要素
1、封装;
2、继承;
3、多态。
二、面向对象五原则
1、单一职责原则;
2、开放-封闭原则(对扩展开放;对修改关闭);
3、Liskov替换原则(子类型必须能够完全替换其父类型(继承);关注行为的替换(多态));
4、依赖倒置原则(依赖抽象;面向接口编程等);
5、接口隔离原则(接口尽量小;接口要稳定,职责要单一;多个小接口比一个大的通用接口要好等)。
三、面向对象六视点
1、复用(代理、原型模式);
2、扩展(代理、访问者模式);
3、分离(桥接模式);
4、变化(策略模式);
5、简约(单例、外观模式);
6、一致(适配、组合模式)。