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

温州外贸网站建设七牛云 wordpress

温州外贸网站建设,七牛云 wordpress,创建网站的视频,如何用ae做模板下载网站什么是访问者模式 访问者模式提供了一个作用于某对象结构中的各元素的操作表示#xff0c;他使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。     访问者模式主要包含以下几个角色#xff1a;         Vistor(抽象访问者)#xff1a;为对象结…什么是访问者模式 访问者模式提供了一个作用于某对象结构中的各元素的操作表示他使我们可以在不改变各元素的类的前提下定义作用于这些元素的新操作。     访问者模式主要包含以下几个角色         Vistor(抽象访问者)为对象结构中每一个具体元素类声明一个访问操作从这个操作的名称或参数类型可以清楚的知道需要访问的具体元素类型具体访问者需要实现这些操作方法定义对这些元素的访问操作。         ConcreteVistor(具体访问者)实现了每一个由抽象访问者声明的操作每一个操作用于访问对象结构中一种类型的元素。         Element(抽象元素)一般是抽象类或接口定义了一个由抽象访问者作为参数的方法。         ConcreteElement(具体元素)实现了抽象元素中的方法在该方法中调用访问者的访问方法以完成一个元素的操作。         ObjectStructure(对象结构)是一个元素的集合用于存放元素对象并且提供了遍历集合的方法。 访问者模式的优缺点 优点 增加新的访问者很方便无需修改源代码符合开闭原则。将有关元素对象的访问行为集中到一个访问者中有利于对象结构中元素对象的复用。可以在不修改现有元素层次结构的前提下定义作用于该层次结构的操作。 缺点 增加新的元素类很困难每增加一个元素类都要在抽象访问者角色中增加一个新的抽象操作并在具体访问者类中增加相应的具体操作违背了开闭原则。破坏了封装访问者对象需要访问并调用每一个元素对象的操作这意味着元素对象有时候必须暴露一些自己的内部操作和状态。 访问者模式的应用场景 一个对象结构包含多个类型的对象希望对这些对象的具体类型做一些操作。需要对一个对象结构中的对象进行很多不同的并且不相关的操作。对象结构中对象对应的类很少改变经常需要在对象结构中定义新的操作。 访问者模式的案例 // 抽象访问者 public abstract class Action {/*** 得到男性 的测评** param man man*/public abstract void getManResult(Man man);/*** 得到女的 测评** param woman woman*/public abstract void getWomanResult(Woman woman); }// 具体访问者 public class Success extends Action {Overridepublic void getManResult(Man man) {System.out.println( 男人给的评价该歌手很成功 !);}Overridepublic void getWomanResult(Woman woman) {System.out.println( 女人给的评价该歌手很成功 !);}}public class Wait extends Action {Overridepublic void getManResult(Man man) {System.out.println( 男人给的评价是该歌手待定 ..);}Overridepublic void getWomanResult(Woman woman) {System.out.println( 女人给的评价是该歌手待定 ..);}}public class Fail extends Action {Overridepublic void getManResult(Man man) {System.out.println( 男人给的评价该歌手失败 !);}Overridepublic void getWomanResult(Woman woman) {System.out.println( 女人给的评价该歌手失败 !);}}// 抽象元素 public abstract class Person {public abstract void accept(Action action);}// 具体元素 public class Man extends Person {Overridepublic void accept(Action action) {action.getManResult(this);}}public class Woman extends Person {Overridepublic void accept(Action action) {action.getWomanResult(this);}}// 对象结构 public class ObjectStructure {private final ListPerson persons new LinkedList();public void attach(Person p) {persons.add(p);}public void detach(Person p) {persons.remove(p);}public void display(Action action) {for (Person p : persons) {p.accept(action);}} }public static void main(String[] args) {//创建ObjectStructureObjectStructure objectStructure new ObjectStructure();objectStructure.attach(new Man());objectStructure.attach(new Woman());//成功Success success new Success();objectStructure.display(success);System.out.println();Fail fail new Fail();objectStructure.display(fail);System.out.println(给的是待定的测评);Wait wait new Wait();objectStructure.display(wait); }
http://www.hkea.cn/news/14586960/

相关文章:

  • 地图网站设计网站开发模式框架
  • 做社交网站网上培训机构
  • 建设企业网站哪个好wordpress退出函数
  • 西安有哪些家做网站的公司网店设计是做什么的
  • 建设部指定招标网站网站和微网站
  • linux网站如何做ip解析如何在南美做网站推广
  • 网站建设清单达内网站开发培训
  • 做相亲网站宣威市网站建设
  • 网站开发培训费企业融资流程
  • 合肥微信网站施工企业安全生产管理规范最新版
  • 可以免费建立网站吗网站排名关键词
  • codewars网站付费推广渠道有哪些
  • 南昌网站建设排行php电商网站开发贴吧
  • 网站上的用户注册怎么做的淘宝直播要先建设个网站吗
  • 自己做的美食分享到网站光华路网站建设
  • 免费做数学题的网站深圳哪家做网站
  • 网站开发项目介绍pptseo优化技术招聘
  • 金华网站建设价格国美网站建设的特点
  • 邳州做网站的公司郑州php网站建设
  • 公司网站建设服务费计入什么科目深圳规划建设局网站
  • 深圳最火的网站自己做自己的私人网站
  • 网站怎样做漂浮上海cms模板建站
  • 昌吉州住房和城乡建设局网站建筑公司企业信用分
  • 网站开发 先做前端吗网站建设怎样推广
  • 国外公司建站系统域名和空间网站
  • 网站营销设计网站建设汇报方案ppt
  • ps如何做游戏模板下载网站濮阳做公司网站
  • 预付做网站订金怎么做账盗版网站怎么做的
  • 医疗室内设计网站推荐找潍坊做网站的
  • 怎么查看网站建设时间百度一下你就知道搜索引擎