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

在局网站 作风建设方案创建网站英文

在局网站 作风建设方案,创建网站英文,重庆市建设工程信息网官网安全监督渝快办,重装没有设置wordpress目录 0、定义 1、访问者模式的五种角色 2、访问者模式的UML类图 3、示例代码 0、定义 表示一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下,定义作用于这些元素的新操作。 1、访问者模式的五种角色 抽象元素(Element…

目录

0、定义

1、访问者模式的五种角色

2、访问者模式的UML类图

3、示例代码


0、定义

        表示一个作用于某对象结构中的各个元素的操作。它可以在不改变各个元素的类的前提下,定义作用于这些元素的新操作。

1、访问者模式的五种角色

  • 抽象元素(Element):一个接口,该接口定义了接收访问者的accept操作。
  • 具体元素(Concrete Element):Element的实现类。
  • 对象结构(Object Structure):一个集合,用于存放Element对象,提供遍历它自己的方法。
  • 抽象访问者(Visitor):一个接口,该接口定义操作对象(ConcreteElement的实例)的方法。
  • 具体访问者(Concrete Visitor):实现Visitor接口的类。

2、访问者模式的UML类图

3、示例代码

抽象元素:

package xyz.jangle.design.visitor;public interface Element {public void accept(Visitor v);
}

具体元素A和B:

package xyz.jangle.design.visitor;public class ConcreteElementA implements Element {@Overridepublic void accept(Visitor v) {v.visit(this);}}
package xyz.jangle.design.visitor;public class ConcreteElementB implements Element {@Overridepublic void accept(Visitor v) {v.visit(this);}}

抽象访问者:

package xyz.jangle.design.visitor;public interface Visitor {public void visit(ConcreteElementA a);public void visit(ConcreteElementB b);
}

具体访问者1 和2 :

package xyz.jangle.design.visitor;public class ConcreteElementA implements Element {@Overridepublic void accept(Visitor v) {v.visit(this);}}
package xyz.jangle.design.visitor;public class ConcreteElementB implements Element {@Overridepublic void accept(Visitor v) {v.visit(this);}}

客户端(使用):

package xyz.jangle.design.visitor;import java.util.ArrayList;public class AppMain24 {public static void main(String[] args) {ArrayList<Element> list = new ArrayList<Element>();list.add(new ConcreteElementA());list.add(new ConcreteElementA());list.add(new ConcreteElementA());list.add(new ConcreteElementB());list.add(new ConcreteElementB());ConcreteVisitor1 visitor1 = new ConcreteVisitor1();for(Element e : list){e.accept(visitor1);}ConcreteVisitor2 visitor2 = new ConcreteVisitor2();for(Element e:list) {e.accept(visitor2);}}}

输出结果:

这是访问者1的方法,可以访问ConcreteElementA的属性
这是访问者1的方法,可以访问ConcreteElementA的属性
这是访问者1的方法,可以访问ConcreteElementA的属性
这是访问者1的方法,可以访问ConcreteElementB的属性
这是访问者1的方法,可以访问ConcreteElementB的属性
这是访问者2的方法,可以访问ConcreteElementA的属性
这是访问者2的方法,可以访问ConcreteElementA的属性
这是访问者2的方法,可以访问ConcreteElementA的属性
这是访问者2的方法,可以访问ConcreteElementB的属性
这是访问者2的方法,可以访问ConcreteElementB的属性

http://www.yayakq.cn/news/237005/

相关文章:

  • 网站开场flash怎么做的wordpress 密码算法
  • 企业网站建设ejiew网站虚拟空间购买
  • 建设工程规范下载网站网站友情链接美化代码
  • 莱州网站建设服务关于网上商城的推广方法
  • 游戏开发网站建设台州大型网站建设
  • 做网站用什么开源程序十大创意网站
  • 有哪些网站程序网站开发外文文献
  • 如何提高网站的点击率凡客建网站
  • 相册特效手机网站鞍山怎么样做一个自己的网站
  • 江苏优质网站制作公司怎么个人网站设计
  • 珠宝首饰网站开发做网站首选什么语言
  • 房地产网站加盟wordpress电商模板下载
  • 个人网站服务器用家用光纤宽带做网站
  • 榆林哪里做网站wordpress集成qq登录
  • 基于.NET的电子商务网站开发1688网站链接图片怎么做
  • 网站建设的互动性wordpress微信模块插件
  • 潍坊网络建站模板集团做网站
  • 南宁网站建站公司织梦模板添加网站地图
  • 动易论坛官方网站莱州房产网房产信息
  • 手机网站自动跳转北京做网站的外包公司
  • 网站优化排名工具百度网站怎样做推广
  • 苏州相城做网站哪家好专业seo优化外包
  • 做视频网站好做吗常德找工作网站
  • 做公司网站宣传公司蕲春县住房和城乡建设局网站
  • 好看大方的企业网站源码.net定制型网站建设价格
  • 阿米纳网站建设万全做网站wl17581
  • seo建站优化广告设计网站素材
  • 白银市建设管理处网站湖北北京网站建设
  • 加强网站建设的措施官方网站建设 在线磐石网络
  • 搜索设置 网站宿州网站建设多少钱