/**
* 设计模式(二):命令模式实例
* 背景:在一个类中,对一个数据的处理方法不一样,可以使用这种方式
*
* @author 修。
* @version 1.0.0
*/
package day66;
/**
* 命令接口:提供统一规范
*/
interface Commmand{
/**
* 处理数据
*/
public abstract void process(int[] table);
}
class PrintCmd implements Commmand{
@Override
public void process(int[] table) {
System.out.println("遍历table里的元素:");
for (int tmp : table)
{
System.out.println(tmp);
}
}
}
class AddCmd implements Commmand{
@Override
public void process(int[] table) {
int sum=0;
for (int tmp : table)
{
sum += tmp;
}
System.out.println("计算table里元素的总和:"+sum);
}
}
public class Day662 {
public void Mainprocess(int[] table,Commmand cmd)
{
cmd.process(table);
}
public static void main(String[] args) {
Day662 day = new Day662();
int[] table = {1,2,3,4,5};
day.Mainprocess(table,new PrintCmd());
day.Mainprocess(table,new AddCmd());
}
}