標籤:
概述
在學習.net的時候,學習過委託,也用委託做過工作流程的封裝,並認為他非常的重要,所以,在學習java的時候,也去學習了這塊內容,不學不知道,一學非常的吃驚,因為java的委託不像.net那樣,實現底層類庫對其的支援,而是通過回調的方式簡介的實現這種機制,下面就開始java委託的具體實現。
“委託”的實現 架構圖和類圖
代碼實現 B層類和介面的代碼
//CallBack介面 public interface ComputeCallBack { public void onComputeEnd(); } //被監聽類 public class CallBackBLL { public void compute(ComputeCallBack callback){ if(callback != null){ callback.onComputeEnd(); } } }
U層類的代碼
//回調介面實作類別 public class MyComputeCallBackImpl implements ComputeCallBack{ @Override public void onComputeEnd() { System.out.println("外部類的“委託”"); } } public class TestDelegate { public static void main(String[] args) { TestCallBack testCallBack = new TestCallBack(); //匿名類的“委託”,省略 //外部類的“委託” MyComputeCallBackImpl myComputeCallBackImpl = new MyComputeCallBackImpl(); testCallBack.compute(3, myComputeCallBackImpl1); } }
總結
委託的思想就是,把具體做的部分,交給調用方處理。
java中的“委託”