当前位置: 首页 > news >正文

网站开发tt0546网站浏览图片怎么做

网站开发tt0546,网站浏览图片怎么做,网络建设方案ppt,中国新闻社邮箱策略模式 问题描述#xff1a; 有各种鸭子(北京鸭、玩具鸭)#xff0c;鸭子有各种行为(叫、飞)希望能够实现不同的鸭子#xff0c;显示不同鸭子的信息 传统方法会创建一个抽象类 public abstract class Duck{public Duck(){}public abstract void display();//显示鸭子信… 策略模式 问题描述 有各种鸭子(北京鸭、玩具鸭)鸭子有各种行为(叫、飞)希望能够实现不同的鸭子显示不同鸭子的信息 传统方法会创建一个抽象类 public abstract class Duck{public Duck(){}public abstract void display();//显示鸭子信息public void fly(){System.out.println(鸭子会飞翔);}}这时候我们要实现具体的鸭子如玩具鸭得重写Duck类里的所有方法因为玩具鸭不会飞。如果要实现北京鸭又得重写Duck类里的所有方法因为北京鸭飞飞行能力一般。 传统方式存在问题 其他鸭子都继承了Duck类所有fly让所有的子类都会飞了这是不正确的即继承带来的问题对类的局部改动尤其超类的局部改动会影响其他部分会有溢出效应 这时引出策略模式 策略模式中定义算法族(策略组)分别封装起来让他们之间可以相互替换此模式让算法的变化独立于使用算法的客户。 我的理解是 把原来继承的部分换成一个插槽这个插槽在策略模式中是一个接口。不同的类插槽处的具体实现不一样这时候我们可以搭建很多个不一样的积木(策略组)用哪一个就把哪一个积木放到插槽里不用对插槽进行重新改动这样后面的其他人也可以重复使用这个积木。策略模式中具体的实现是积木即继承了接口的实现类使用哪一个实现了就将其赋值给接口即可不用重新接口方法。 实例 策略模式的原则就是分离变化部分封装接口基于接口编程各种功能。 将原来的方法定义改成策略接口(创建一个插槽) public abstract class Duck{//属性策略接口FlyBehavior flyBehavior;public abstract void display();//显示鸭子信息public void fly(){//改进if(flyBehavior!null){flyBehavior.fly();}}//提供给用户动态变化行为动作(更换插槽里的积木调用这个方法就行)public void setFlyBehavior(FlyBehavior flyBehavior){this.flyBehavior flyBehavior;} }策略接口 public interface FlyBehavior {void fly();//子类的具体实现 }策略组的实现(实现放到接口里的积木) public class GoodFlyBehavior implements FlyBehavior{Overridepublic void fly() {System.out.println(飞翔技术高超);} }public class NoFlyFlyBehavior implements FlyBehavior{Overridepublic void fly() {System.out.println(不会飞翔);} }不同鸭子的实现 public class ToyDuck extends Duck{Overridepublic void display() {//把想放的积木放到插槽里flyBehavior new NoFlyFlyBehavior();} }public class BeiJingDuck extends Duck{Overridepublic void display() {flyBehavior new GoodFlyBehavior();} }即将项目中变化的部分分离出来多用组合/聚合少用继承用行为类组合而不是行为的继承。 体现了“对修改关闭对扩展开放”原则客户端增加行为不用修改原有代码只需要添加一种策略即可。 需要注意的是没添加一个策略就需要增加一个类当策略过多是会导致类数目庞大。
http://www.zqtcl.cn/news/465109/

相关文章:

  • 电商网站制作设计wordpress jquery 无法
  • 关键词优化易下拉效率北京和隆优化科技
  • 漯河企业网站开发天津建设协会网站
  • wap网站模式房产信息查询网
  • 做外贸怎么进入国外的网站百度指数总结
  • ui设计作品网站东莞做网站的网络公司
  • 网站未备案怎么访问做网站图片教程
  • 温州专业营销网站建设网络建设解决方案
  • 滨州网站建设 远洋科技网站需求建设书
  • 知道网站域名怎么联系域名解析不成功是什么意思
  • 武宁网站ui专业设计wordpress评论通知代码6
  • thymeleaf做网站 seo重庆平台网站建设找哪家
  • WordPress子站站群建筑工程网上申请质量安全监督
  • 怎么给网站添加图标山西手机版建站系统哪家好
  • frontpage网页制作视频教程昆明网站建设优化企业
  • 工信部 诚信网站备案公司网络营销方案
  • 网站开发采集工具如何做网站内链优化
  • 在线做英语题的网站揭阳建站服务
  • 网站非法篡改wordpress的知名网站
  • 保定网建站模板uv推广平台
  • 股权分配系统建设网站wordpress mip 模板
  • 网站及其建设的心得体会昆明云南微网站
  • 详情页在线设计网站推荐广州建设网站企业
  • 设计师网站建设哪家网络公司做网站
  • 宣城网站开发专业制注册资金写100万后悔
  • 专业的高密做网站的建公司网站要多久
  • 蚌埠做网站哪家好WordPress强制ssl
  • 1m宽带做网站平台建站
  • 学习做ppt 的网站班会活动设计方案模板
  • 廊坊住房和城乡建设厅网站门户网站开发招标