抽象,封装,多态,继承
OO原则:
1.封装变化,
2.多用组合,少用继承
3.针对接口编程,而不是针对实现编程。
4.为交互对象之间的松耦合设计而努力。
5.对扩展开放,对修改关闭。
装饰者模式(Decorate Pattern):
动态地将责任附加到对象上。想要扩展功能,装饰者提供有别于继承的另一种选择。
装饰者和被装饰者必须有同样的超类。