中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)站域名空間費發(fā)票廣告詞

網(wǎng)站域名空間費發(fā)票,廣告詞,服務器與網(wǎng)站嗎,html5做動態(tài)網(wǎng)站建設16.訪問者模式 一.什么是訪問者模式 封裝一些作用于某種數(shù)據(jù)結構中的各元素的操作,它可以在不改變這個數(shù)據(jù)結構的前提下,定義作用于這些元素的新操作。 二、角色 (1) Vistor(抽象訪問者):為該對象結構中具體元素角色…

16.訪問者模式

一.什么是訪問者模式
封裝一些作用于某種數(shù)據(jù)結構中的各元素的操作,它可以在不改變這個數(shù)據(jù)結構的前提下,定義作用于這些元素的新操作。

二、角色

  • (1) Vistor(抽象訪問者):為該對象結構中具體元素角色聲明一個訪問操作接口。
  • (2) ConcreteVisitor(具體訪問者):每個具體訪問者都實現(xiàn)了Vistor中定義的操作。
  • (3) Element(抽象元素):定義了一個accept操作,以Visitor作為參數(shù)。
  • (4) ConcreteElement(具體元素):實現(xiàn)了Element中的accept()方法,調用Vistor的訪問方法以便完成對一個元素的操作。
  • (5) ObjectStructure(對象結構):可以是組合模式,也可以是集合;能夠枚舉它包含的元素;提供一個接口,允許Vistor訪問它的元素。

三、代碼
1、抽象訪問者

public interface Tasker {void visitZhuang(ZhuangHero zhuangHero);void visitZhen(ZhenHero zhenHero);
}

2、具體訪問者1

public class MyTasker implements Tasker {@Overridepublic void visitZhuang(ZhuangHero zhuangHero) {System.out.println("我訪問了莊周,莊周釋放技能");zhuangHero.operate();}@Overridepublic void visitZhen(ZhenHero zhenHero) {System.out.println("我訪問了甄姬,甄姬釋放技能");zhenHero.operate();}
}具體訪問者2
public class OtherTasker implements Tasker {@Overridepublic void visitZhuang(ZhuangHero zhuangHero) {System.out.println("其他人訪問莊周,莊周開始使出技能");zhuangHero.operate();}@Overridepublic void visitZhen(ZhenHero zhenHero) {System.out.println("其他人訪問甄姬,莊周開始使出技能");zhenHero.operate();}
}

3、抽象元素

public abstract class Hero {public abstract void accept(Tasker tasker);
}

4、具體元素(1)

@Data
@NoArgsConstructor
public class ZhenHero extends Hero {@Overridepublic void accept(Tasker tasker) {tasker.visitZhen(this);}public void operate(){System.out.println("甄姬釋放出技能");}
}

具體元素(2)

@NoArgsConstructor
@Data
public class ZhuangHero extends Hero {@Overridepublic void accept(Tasker tasker) {tasker.visitZhuang(this);}public void operate(){System.out.println("莊周釋放出技能");}
}

5.對象結構

public class ObjectStructure {private List<Hero> heroList = new ArrayList<>();public void handleRequest(Tasker tasker){for (Hero hero : heroList) {hero.accept(tasker);}}public void addHero(Hero hero){heroList.add(hero);}}

6.測試類

public class VisitorTest {public static void main(String[] args) {ObjectStructure objectStructure = new ObjectStructure();Hero zhuangHero = new ZhuangHero();Hero zhenHero = new ZhenHero();objectStructure.addHero(zhuangHero);objectStructure.addHero(zhenHero);Tasker myTasker = new MyTasker();Tasker otherTasker = new OtherTasker();objectStructure.handleRequest(myTasker);objectStructure.handleRequest(otherTasker);}
}
http://www.risenshineclean.com/news/4496.html

相關文章:

  • 烏魯木齊哪里可以建設網(wǎng)站關鍵詞語有哪些
  • 用python做網(wǎng)站開發(fā)的課程嘉興seo
  • 網(wǎng)站點擊率如何做百度一下百度
  • wordpress文章顯示小時分鐘天津seo推廣服務
  • 東莞網(wǎng)站如何制作google play官網(wǎng)入口
  • 網(wǎng)站會員注冊系統(tǒng)下載在線看seo網(wǎng)站
  • 做網(wǎng)站都需要用到什么百度網(wǎng)址大全怎么設為主頁
  • 九江做網(wǎng)站開發(fā)需要多少錢班級優(yōu)化大師網(wǎng)頁版登錄
  • 外貿(mào)網(wǎng)站用什么語言百度廣告推廣平臺
  • 實體門店管理系統(tǒng)武漢seo公司排名
  • 如何查看網(wǎng)站在哪里做的會計培訓班有用嗎
  • 獲獎設計網(wǎng)站怎么做ppt
  • 做網(wǎng)站需要材料北京專業(yè)網(wǎng)站優(yōu)化
  • 怎樣在設計網(wǎng)站做圖賺錢嗎投稿平臺
  • 青島網(wǎng)絡推廣選哪家seo推廣宣傳
  • 成都設計研究院北京seo產(chǎn)品
  • 蘇州網(wǎng)頁服務開發(fā)與網(wǎng)站建設鳳凰網(wǎng)臺灣資訊
  • 阿里云注銷網(wǎng)站什么是長尾關鍵詞舉例
  • 權威的網(wǎng)站建設網(wǎng)絡銷售是做什么的
  • 南寧網(wǎng)站建設 南寧聯(lián)達億seo優(yōu)化網(wǎng)站源碼
  • 現(xiàn)在怎么做網(wǎng)絡營銷推廣方法網(wǎng)站的優(yōu)化seo
  • 北京 做網(wǎng)站 公司微信公眾號小程序怎么做
  • 注重網(wǎng)站內容維護百度推廣賬號怎么申請
  • 電子產(chǎn)品營銷策劃書seo優(yōu)化易下拉霸屏
  • 重慶網(wǎng)絡網(wǎng)站推廣網(wǎng)絡營銷公司排行榜
  • 開通網(wǎng)站必須做域名空間營銷方法有哪些方式
  • 怎么更改網(wǎng)站域名搜索引擎推廣實訓
  • 瀏陽做網(wǎng)站報價簡述如何優(yōu)化網(wǎng)站的方法
  • 網(wǎng)站越來越難做班級優(yōu)化大師免費下載
  • 常德投訴網(wǎng)站經(jīng)典品牌推廣文案