package frank;
public class App
{
public static void main(String[] args)
{
int[] array = new int[]{0,1,4,5,3,4};
ProcessArray pa = new ProcessArray();
pa.process(array,new PrintCommand());//相同的方法,不同的输出
pa.process(array,new AddCommand());//相同的方法,不同的输出
}
}
interface Command
{
public abstract void process(int[] array);
}
class ProcessArray
{
public void process(int[] array,Command cmd)
{
cmd.process(array);
}
}
class PrintCommand implements Command
{
public void process(int[] array)
{
for(int item : array)
{
System.out.println(item);
}
}
}
class AddCommand implements Command
{
public void process(int[] array)
{
int sum = 0;
for(int item : array)
{
sum += item;
}
System.out.println(sum);
}
}