策略模式就是好多算法,方式封装到一起,然后根据不同的需求选择不同的算法
例子:
首先一个接口:
public static interface a
{
public int num (int num1, int num2);
}
然后实现该接口的类(就是不同的算法类):
public static class b implements a
{
@Override
public int num(int num1, int num2) {
return num1+num2;
}
}
public static class c implements a
{
@Override
public int num(int num1, int num2) {
return num1-num2;
}
}
然后写一个选择算法的类:
public static class context
{
private a aa;
public context(a aa)
{
this.aa = aa;
}
public int num (int num1, int num2)
{
return aa.num(num1, num2);
}
}
最后一个demo:
public static class demo
{
public static void main(String [] args)
{
context con = new context(new b());
context con1 = new context(new c());
System.out.println("1的答案 "+con.num(1, 2));
System.out.println("2的答案 "+con1.num(1, 2));
}
}
输出结果:
1的答案 3
2的答案 -1