1. 优先使用组合,然后通过注入方式,进行赋值给类中的对象

  2. 使用继承

  3. 面向切面编程。(比如对某个类增加日志功能,怎么增加)
    为什么优先使用组合,因为基类一旦变化,子类都会跟着变化。