概念 原则是尽量使用合成、聚合的方式,而不是使用继承 核心思想 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。针对接口编程,而不是针对实现编程。为了交互对象之间的松耦合设计而努力 继承: 聚合:B有个A类型的属性a 依赖:B有个方法的参数是A类型的变量,通过set方法设置 组合:B对象在创建的时候,就会new一个A出来