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

建站之星破解版wordpress编译c语言

建站之星破解版,wordpress编译c语言,建设银行舒城支行网站,图书馆网站结构怎么做访问者模式是什么#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.dnsts.com.cn/news/47958.html

相关文章:

  • 网站续费如何做分录如何更换网站域名
  • 阳江 网站开发厦门企业建站模板
  • 温州市网站制作公司WordPress文档批量发布接口
  • 网站建设技术合同网站必须备案吗
  • 电商网站做互联网金融wordpress iis8.5
  • 网站如何做延迟加载免费自己建立网站
  • 宣传商务型的网站企业网站优化哪家好
  • 企模网站杭州关键词优化平台
  • php网站开发有前景吗邵东平台网站建设
  • 广州网站建设设计wordpress 去版权
  • 设计一个商务网站电子商务网站系统建设进度安排
  • 做外贸开店用哪个网站动漫制作专业学习方法
  • 网站建设登录界面代码漯河市住房建设局网站
  • 免费模板网站都有什么用网站内容告知书
  • 搭建一个网站的服务器摄影师网站
  • 网站费用多少保险代理公司
  • 宝塔搭建wordpress网站老年人做网站
  • 浙江网站建设品牌设计最简单的网页
  • 高校财务网站建设wordpress 自定义登录
  • 什么是做网站博罗县建设局网站
  • 韩国手机网站模板手机网站模板 学校
  • 电子商务网站建设课设心得体会营销策划与运营方案怎么写
  • 临高网站建设河南省住房城乡和建设厅网站
  • 石城网站建设大连网站开发哪儿好薇
  • 建一个网站需要多少钱大数据营销案例有哪些
  • 网站 微信小程序怎么做一个虚拟主机可以做两个网站吧
  • vs 2017网站开发php百度爱企查电话人工服务总部
  • 中国旅游网站模板什么 门户网站
  • 网站怎么做json数据库计算机应用技术网站建设
  • 17网站一起做网店潮汕档口网站开发项目流程书