package Strategy;/*** @author ngfngf 超类、所有的鸭子都要继承此类 抽象了鸭子的行为:显示和鸣叫*/public abstract class Duck {// 将飞行行为抽象成接口,在父类中持有 优:灵活,代码复用,易于维护private FlyStrategy flyStrategy;private QuackStrategy quckStrategy;public void setFlyStrategy(FlyStrategy flyStrategy) {this.flyStrategy = flyStrategy;}public void setQuackStrategy(QuackStrategy quckStrategy) {this.quckStrategy = quckStrategy;}public void fly() {// 由该接口代理飞行行为flyStrategy.performFly();}// 通用行为由超类实现public void quack() {System.out.println("嘎嘎嘎");}/** //通过继承拓展新功能,优:简单易容;缺:不具有灵活性,对未来支持差 public void fly() {* System.out.println("飞啊飞啊"); }*//** //强迫子类实现自己的fly方法 ,优:灵活 ;缺:每個子类都要实现一遍代码,即便是相同的行为也不例外 public abstract void* fly();*/// 不同的鸭子显示由子类实现public abstract void display();}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。