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

写网站论文怎么做毕业设计论文网站开发需要多少钱

写网站论文怎么做,毕业设计论文网站开发需要多少钱,公司手机网站制作,校园网站建设工作计划目录 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/290597/

相关文章:

  • 网站产品动效怎么做WordPress仿Discuz
  • 只做乡村旅游的网站域名注册和网站哪个好
  • 国内大型网站制作营销策略主要包括哪些
  • 用dw做一个个人网站食品网站建设网站定制开发
  • 中国建设积分商城网站使用局域网可以做网站吗
  • 怎样做网站怎要加服务器制作网页简历
  • 寮步镇做网站热门手机网站
  • 电气网站开发有声小说网站开发
  • 江北区城乡建设部网站首页网站开发过滤器作用
  • 山西大同网站建设网站建设客户调研表
  • 百度网盟 网站定向一地址和二地址
  • 营销型企业网站的类型沈阳seo专业培训
  • 骏域网站建设专家电话常州人才招聘网
  • 网站设计与建设的在线定制
  • 望城做网站二建转注辽宁建设主管部门网站
  • 松江网站开发黄页是什么应用
  • 长春长春网站建设js wordpress 菜单管理系统
  • 网站相册源码网站开发的功能需求文档模板
  • 镭拓网站建设官网seo短视频网页入口
  • 网站上线稳定后工作上海公司建设网站
  • 网站界面友好微分销系统一般多少钱
  • jsp做网站用到的软件公司网站内容更新怎么做
  • 沈阳建设工程质量检测中心网站用什么做网站最简单
  • 福建省建设工程职业注册网站网页游戏传奇开服表
  • 多语种网站营销长沙网站建设费用
  • 学网站开发怎么就业编程培训费用
  • 网络爬虫需要自己做网站吗wordpress前台发视频图片
  • 电子商务网站建设技术解决方案wordpress app 开发
  • 网站建设那个最好易语言 做网站mysql
  • 网站设计相似侵权吗小米市场营销案例分析