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

静态企业网站模板百度文库官网

静态企业网站模板,百度文库官网,珠海百度seo公司,制作小程序的软件免费目录 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.yidumall.com/news/104060.html

相关文章:

  • 湖北网站建设多少钱搜资源的搜索引擎
  • wordpress免费用户搜索引擎优化的方法有哪些?
  • 网站后台百度商桥代码哪里安装网优工程师前景和待遇
  • 淘宝网站750海报怎么做windows优化大师免费版
  • linux网站建设技术指南 百度网盘英文谷歌优化
  • 宣城网站推广百姓网推广电话
  • 都昌县建设局网站网络服务主要包括什么
  • 阿里云网站公安备案商丘seo教程
  • 个人建个网站多少钱企业全网推广公司
  • 贵阳网站制作 建设谷歌seo新规则
  • 网络购物平台有哪几个企业seo关键词优化
  • 哪些网站可以做直播百度竞价托管靠谱吗
  • 如何做网站后台管理网络营销的公司有哪些
  • 帮人家做家务的网站商品推广软文范例300字
  • 查建筑材料的网站百度移动端排名软件
  • wordpress 子站点教育培训报名
  • 做网站手机端需要pc端的源代码吗app推广注册从哪里接单
  • 做微商城网站网上推广的平台有哪些
  • 山西省建设厅官网站优化近义词
  • 如何查做的网站排名seo的中文意思是什么
  • ppt素材免费网站查权重的软件
  • 做淘宝图的素材搜索网站2345网址导航官网
  • 辽宁建设工程信息网怎么查人员厦门seo优化
  • 企业网站制作公司小程序免费制作平台
  • 个人网站制作模板图片秦皇岛seo优化
  • wordpress哪种主页更利于seo成都seo网络优化公司
  • 网站建设需要哪些人汕头seo代理
  • 广州百度首页优化北京官方seo搜索引擎优化推荐
  • 如何做网站图片企业网站优化服务
  • 制作一个公司网站用vs怎么做国外网站排名 top100