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

陕西省建设网站建立网站的费用策划

陕西省建设网站,建立网站的费用策划,php个人网站模板下载,数据统计网站有哪些一.基本内容1 . 实例有各种鸭子#xff08;野鸭#xff0c;北京鸭子#xff0c;水鸭等#xff0c;鸭子有各种行为#xff0c;比如飞#xff0c;叫等显示鸭子的信息传统方法解决#xff1a;鸭子为抽象类#xff0c;具体鸭子继承抽象类2.传统方法的不足#xff1a;其他鸭…一.基本内容1 . 实例有各种鸭子野鸭北京鸭子水鸭等鸭子有各种行为比如飞叫等显示鸭子的信息传统方法解决鸭子为抽象类具体鸭子继承抽象类2.传统方法的不足其他鸭子都继承了抽象类所以fly让所有子类都会飞这不正确上面的问题其实是继承带来的问题对类的局部改动尤其超类的局部改动会影响其他部分会有溢出效应为了改进问题可以通覆盖fly方法解决 ---- 覆盖解决如果我们有一个玩具鸭子这样需要玩具鸭子覆盖所有的实现方法麻烦 解决方法 ----- 策略模式3 . Strategy Pattern 也叫政策模式定义算法族策略族分别封装起来让他们之间可以互相替换此模式让算法的变化独立于使用算法的客户4 . 体现了几个设计原则把变化的代码从不变的代码中分离出来针对接口编程而不是具体类定义了策略接口多用组合/聚合少用继承通过组合方式使用策略4.采用了面向对象的继承和多态机制5.优点算法可以自由切换实现抽象策略就成为策略家族的一个成员通过封装角色对其进行封装保证对外提供“可自由切换”的策略避免使用多重的条件判断使用策略简化操作避免了条件语句判断扩展性好6.缺点策略类数据增多所有的策略类对外暴露7.注意事项策略模式的关键是分析变化与不变的部分 核心思想是多元组合/聚合少用继承用行为类组合而不是行为的继承体现了“对修改关闭对扩展开放”的原则客户端增加行为不要修改源代码只要添加一种策略即可避免了使用多重转移语句提供了可以替换继承关系的方法将算法封装在独立的Strategy类中似的可以独立于Context改变他易于切换理解扩展每添加一个策略就就增加一个类当策略过多时就会导致类的数目庞大如果系统中的一个策略家族的具体策略数量超过4个。则需要考虑使用混合模式解决策略类膨胀和对外暴露的问题8.代码实现public interface Fly { void fly();//子类具体实现 }public class GoodFly implements Fly{Override public void fly() {System.out.println(飞翔技术非常好); }}public class BadFly implements Fly{ Override public void fly() {System.out.println(飞翔技术一般); }}public class NoFly implements Fly{ Override public void fly() {System.out.println(不会飞); }}public abstract class Duck { //属性策略接口 Fly fly;public Duck() {}public abstract void display();public void quack() {System.out.println(鸭子嘎嘎叫。。); } public void swim() {System.out.println(鸭子游泳); } public void fly() {//改进if(fly!null) {fly.fly();} } } public class PekingDuck extends Duck{ public PekingDuck() {fly new NoFly(); }Override public void display() {// TODO Auto-generated method stubSystem.out.println(北京鸭子); }}public class ToyDuck extends Duck{ public ToyDuck() {fly new NoFly(); } Override public void display() {System.out.println(玩具鸭子);} //重写父类的所有方法 public void quack() {System.out.println(玩具鸭子不能叫。。); } public void swim() {System.out.println(玩具鸭子不能游泳); } public void fly() {System.out.println(玩具鸭子不能飞); } }public class Client { public static void main(String[] args) {WildDuck wduck new WildDuck();wduck.fly();PekingDuck pduck new PekingDuck();pduck.fly(); } }9.应用Arrays使用了策略模式Arrays的Comparator就使用了策略模式多个类只区别在表现行为不同可以使用Strategy模式在运行时动态选择具体要执行的行为。需要在不同情况下使用不同的策略(算法)或者策略还可能在未来用其它方式来实现。 对客户隐藏具体策略(算法)的实现细节彼此完全独立。
http://www.hkea.cn/news/14286810/

相关文章:

  • 网站建设内容策略有哪些搜索引擎市场份额2023
  • 浦口区网站建站wordpress如何秒开
  • 网站采集转载wordpress图标字体不显示
  • 写资料的网站有哪些内容jannah wordpress
  • 公司注册网站入口安徽合肥中国建设银行网站首页
  • 爱站网关键词查询网站wordpress设置首主导航
  • 自建英文网站软文营销网站
  • 潍坊网站制作人才招聘电影网站网页设计实训报告
  • 怎么上传文件到ftp网站阿里云配置网站
  • 专业做毕业设计网站设计标签wordpress
  • 微博付费推广有用吗西安网络优化哪家好
  • 网站建设收费标准渠道广州网站建设公司奇亿网站建设
  • 南昌专业网站建设公司深圳网站建设公
  • 做视频网站 许可网站开发 简历
  • 熟练掌握网站开发技术响应式中文网站模板
  • 衣联网和一起做网站 哪家强dede部署两个网站
  • 营销型网站设计官网深圳 网站开发
  • 涞源县住房和城乡建设局网站论坛网站如何备案
  • dedecms 网站 经常无法连接网站建站公司
  • 企业建设网站公司名称大全动态型网站建设
  • 文学网站建设电子商务网站建设ppt模板
  • 浪漫网站建设998元网站建设优化
  • 博物馆网站建设说明互联网推广品牌
  • 怎么制作自己的作品集搜索引擎排名优化技术
  • 企业建设网站的比例wordpress 下载页面模板怎么用
  • 网站销售好做吗公司网站的推广
  • 魏县网站建设东莞最新消息今天
  • 常用于做网站的软件专门做图表的网站
  • 做全国性的app网站推广多少怎么查开发商剩余房源
  • 山西省建设厅政务中心网站企业网站模板 演示