《Head First设计模式》之策略模式

 现在如果我们要让鸭子会飞,那么只需要在超类上添加方法即可: 这时候就出现了一个bug!  如果子类是塑料鸭或者残疾的鸭子,那岂不是也到处乱飞!!! 这是个严重的问题。所以在这时候又想到了用“继承”来解决 。 继承又会导致,如果出现诱饵鸭、橡皮鸭。总不能每次都去覆盖父类的方法吧。拓展性极差。 所以决定改用接口来解决此问题,将fly和quack两个行为从父类抽离出来,放到接口中,这样让会飞会叫的鸭子
相关文章
相关标签/搜索