接口(命令模式):

//-定義接口
interface Command{
	void process(int[] array);
}

//-實現類:1 
class PrintCommand implements Command{
	public void process(int[] array){
		for(int arr:array){
			System.out.println("數組的元素分別爲:"+arr);
		}
	}
}

//-實現類:2
class AddCommand implements Command{
	public void process(int[] array){
		int sum=0;
		for(int arr:array){
			sum+=arr;
		}
		System.out.println("數組的總和爲"+sum);
	}
}

//-定義與實現類分離的類,經過多態的方式,調用實現類的方法
class ProcessComm{
	public void process(int[] array,Command com){
		com.process(array);
	}
}

//-調用與實現類分離的類,經過多態方式,獲取接口類型的 不一樣實現類實例
//-之後若要對實現類更換或修改,直接從新定義一個實現類,並在該類指向該實現類便可,不須要動過去的實現類
//-經過接口,完全實現規範與實現類的分離
public class CommandTest{
	public static void main(String[] args){
		int[] array={3,4,6,10};
		ProcessComm pro=new ProcessComm();
		pro.process(array,new PrintCommand());
		pro.process(array,new AddCommand());
	}
}
相關文章
相關標籤/搜索