php設計模式之訪問者模式

這篇文章參考了網上的一篇文檔寫的。原文出處:http://blog.csdn.net/zhengzhb/article/details/7489639

訪問者模式就是通過一個類作爲參數(訪問者),這樣就有了類型約束,只能是某個類的實例才能訪問該類的方法(其實就是調用這個類的方法)。訪問者作爲參數傳遞進來,而這個訪問者(一個獨立的類)有一個方法,方法的參數就是被訪問類的引用(this關鍵字),通過這個this去調用被訪問類的方法,整個過程就是訪問者模式,這裏面有幾個關鍵點

1.訪問者本身有一個方法,該方法的參數爲被訪問者(約束類型),然後在方法體中調用參數的方法

2.被訪問者有一個方法,方法的參數爲訪問者(約束類型爲訪問者),然後在方法體中調用參數的方法

3.被訪問者的某個方法的參數傳入的實參爲this,即代表了被訪問者,這樣就可以通過this關鍵字調用這個this(被訪問者的引用)的方法

代碼:

[java] view plaincopy
  1. class A {  
  2.     public void method1(){  
  3.         System.out.println("我是A");  
  4.     }  
  5.       
  6.     public void method2(B b){  
  7.         b.showA(this);  
  8.     }  
  9. }  
  10.   
  11. class B {  
  12.     public void showA(A a){  
  13.         a.method1();  
  14.     }  
  15. }  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章