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

哪家建设网站办公室装修风格

哪家建设网站,办公室装修风格,如何推动一个教学网站的建设,front-page wordpress访问者模式是什么#xff1f; 表示一个作用于某对象结构中的各元素的操作#xff0c;它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作 访问者模式解决什么问题#xff1f; 男女在不同情境下表现的不同 abstract class Person {protected String action…访问者模式是什么 表示一个作用于某对象结构中的各元素的操作它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作 访问者模式解决什么问题 男女在不同情境下表现的不同 abstract class Person {protected String action;public String getAction() {return action;}public void setAction(String action) {this.action action;}public abstract void getConclusion(); }class Man extends Person {Overridepublic void getConclusion() {if (逛街.equals(action)) {System.out.println(this.getClass().getSimpleName() action 买完就走);} else if (吃饭.equals(action)) {System.out.println(this.getClass().getSimpleName() action 狼吞虎咽);}} }class Woman extends Person {Overridepublic void getConclusion() {if (逛街.equals(action)) {System.out.println(this.getClass().getSimpleName() action 到处乱逛);} else if (吃饭.equals(action)) {System.out.println(this.getClass().getSimpleName() action 细嚼慢咽);}} }使用时 ListPerson personList new ArrayList();Man man new Man(); man.setAction(逛街); personList.add(man);Woman woMan new Woman(); woMan.setAction(逛街); personList.add(woMan);for (Person person : personList) {person.getConclusion(); }当要新增新的Action时要修改两者的代码 访问者模式实现 创建不同的表现 abstract class Action {abstract void getManConclusion(Man concreteElementA);abstract void getWomanConclusion(Woman concreteElementB); }class Shopping extends Action {Overridevoid getManConclusion(Man concreteElementA) {System.out.println(concreteElementA.getClass().getSimpleName() getClass().getSimpleName() 买完就走);}Overridevoid getWomanConclusion(Woman concreteElementB) {System.out.println(concreteElementB.getClass().getSimpleName() getClass().getSimpleName() 到处乱逛);} }class eat extends Action {Overridevoid getManConclusion(Man concreteElementA) {System.out.println(concreteElementA.getClass().getSimpleName() getClass().getSimpleName() 狼吞虎咽);}Overridevoid getWomanConclusion(Woman concreteElementB) {System.out.println(concreteElementB.getClass().getSimpleName() getClass().getSimpleName() 细嚼慢咽);} }创建男女这里采用双分派先将Action作为传递给男/女再将男/女作为参数传入给Action意味着执行结果取决于两个调用者的类型 abstract class Person {abstract void accept(Action visitor); }class Man extends Person {Overridevoid accept(Action visitor) {visitor.getManConclusion(this);} }class Woman extends Person {Overridevoid accept(Action visitor) {visitor.getWomanConclusion(this);} }创建对象结构统一管理和遍历 class ObjStructure {private ListPerson mPersonList new ArrayList();public void attach(Person person) {mPersonList.add(person);}public void detach(Person person) {mPersonList.remove(person);}public void display(Action visitor) {for (Person person : mPersonList) {person.accept(visitor);}} }调用时 ObjStructure objStructure new ObjStructure();objStructure.attach(new Man());objStructure.attach(new Woman());objStructure.display(new Shopping());objStructure.display(new eat());当要增加Action时只需要新增一个类和修改上面的代码但是如果新增一个外星人的话就要在每个Action中新增对应方法故访问者模式适用于数据结构稳定但算法易变化的情况
http://www.w-s-a.com/news/4985/

相关文章:

  • 洛阳网络建站公司网站开发主流语言
  • 广州各区正在进一步优化以下措施seo值是什么意思
  • 滨州建网站公司京东云 wordpress
  • 网站视频背景怎么做免费的网络推广有哪些
  • 申请网站怎样申请广西壮族自治区专升本业务系统
  • 写作网站哪个网站做ic外单好
  • 苏州和城乡建设局网站撸撸撸做最好的导航网站
  • 网站被同行抄袭怎么办深圳中装建设集团
  • 建站及推广瓦房店 网站建设
  • 怎么查网站是在哪里备案的广州电力建设有限公司网站
  • 做网站自己申请域名还是对方wordpress管理地址
  • 专门做二手书网站或appwordpress首页显示特定分类文章
  • 无锡网站设计厂家一建十个专业含金量排名
  • 网站刷链接怎么做成都高度网站技术建设公司
  • flash网站模板怎么用xml网站地图生成
  • 英文网站优化群晖wordpress中文
  • saas建站平台源码济南品牌网站建设公司
  • 网站建设一般是用哪个软件网站百度
  • 企业建站的作用是什么南宁公司网站开发
  • 厦门网站建设及维护门户网站开发视频教学
  • 可以做兼职的网站有哪些自动点击器永久免费版
  • 建购物网站怎么建呀网站怎么做中英文交互
  • 网站建设费用计入无形资产做网站用的主机
  • 佛山企业网站建设平台沈阳网站建设培训班
  • 河南企业网站优化外包网站怎么做来流量
  • 网站建设的参考文献网站设计网页的优缺点
  • WordPress多站點支付插件内江市网站建设培训
  • 做做网站已更新动漫制作专业需要学什么
  • dfv印花图案设计网站网站建设应该应聘什么岗位
  • 网站后台管理系统模板下载专业网站推广的公司哪家好