Java面向接口編程之命令模式實例詳解
本文實例講述了Java面向接口編程之命令模式。分享給大家供大家參考,具體如下:
一 點睛
某個方法需要完成某個行為,但這個行為的具體實現無法確定,必須等到執(zhí)行該方法時才可以確定。
例如:假設有個方法需要遍歷某個數組的數組元素,但無法確定在遍歷數組時如何處理這些元素,需要在調用該方法時指定具體的處理行為。
對于這樣一個需求,必須把處理行為作為參數傳入該方法,這個處理行為用編程實現就是一段代碼,可以考慮使用一個Command接口來定義一個方法,用這個方法來封裝處理行為。
二 代碼
1 Command接口
public interface Command { // 接口里定義的process()方法用于封裝“處理行為” void process(int[] target); }
2 PrintCommand類
public class PrintCommand implements Command { public void process(int[] target) { for (int tmp : target ) { System.out.println("迭代輸出目標數組的元素:" + tmp); } } }
3 AddCommand類
public class AddCommand implements Command { public void process(int[] target) { int sum = 0; for (int tmp : target ) { sum += tmp; } System.out.println("數組元素的總和是:" + sum); } }
4 ProcessArray類
public class ProcessArray { public void process(int[] target , Command cmd) { cmd.process(target); } }
5 CommandTest類
public class CommandTest { public static void main(String[] args) { ProcessArray pa = new ProcessArray(); int[] target = {3, -4, 6, 4}; // 處理數組,具體處理行為取決于匿名內部類 pa.process(target,new PrintCommand()); System.out.println("____________________"); pa.process(target,new AddCommand()); } }
三 運行
迭代輸出目標數組的元素:3
迭代輸出目標數組的元素:-4
迭代輸出目標數組的元素:6
迭代輸出目標數組的元素:4
____________________
數組元素的總和是:9
四 類圖
更多java相關內容感興趣的讀者可查看本站專題:《Java面向對象程序設計入門與進階教程》、《Java數據結構與算法教程》、《Java操作DOM節(jié)點技巧總結》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對大家java程序設計有所幫助。
相關文章
SpringBoot ThreadLocal 簡單介紹及使用詳解
ThreadLocal 叫做線程變量,意思是 ThreadLocal 中填充的變量屬于當前線程,該變量對其他線程而言是隔離的,也就是說該變量是當前線程獨有的變量,這篇文章主要介紹了SpringBoot ThreadLocal 的詳解,需要的朋友可以參考下2024-01-01