Head First设计模式-策略模式(基于鸭子应用)

问题梳理: 首先实现鸭子应用时用一个Duck抽象类,封装一些方法(飞,游泳)和一些抽象(外貌,叫)方法,然后用其他鸭子的子类来继承。这很好,但是后来新增一个鸭子子类,它不会飞,如果依然继承Duck类,就要覆盖父类的飞,进行重写,这样,每次新增鸭子,如果它有其他不同的地方,都要考虑要不要额外进行覆盖方法,而且,如果要修改现有的一个种类鸭子的其他方法,不能直接修改父类中继承的方法,这样会导致全部种类鸭
相关文章
相关标签/搜索