java 策略模式

来源:互联网 发布:优化网站实例 编辑:程序博客网 时间:2024/05/30 23:04

例如:

public class Test
{
   public static void main(String[] args)
{
   Enviroment e = new Enviroment(new Add());
   System.out.println(e.returnAns(1,2));
   Enviroment e1 = new Enviroment(new Sub());
   System.out.println(e1.returnAns(1,2));
}
}
interface Stra
{
   int calu(int a,int b);
}


class Add implements Stra
{
public int calu(int a,int b)
{
return a+b;
}
}
class Sub implements Stra 
{
public int calu(int a,int b)
{
return a - b;
}
}
class Enviroment
{
private Stra s;
public Enviroment(Stra s)
{
this.s = s;
}
public int returnAns(int a,int b)
{
   return this.s.calu(a,b);
}
}

不同的类实现相同的接口,然后利用多态性来统一调用这些实现。不用判断到底是哪个类来实现什么样的功能。

这里有接口,实现接口的类,还有一个运行环境类。




myEclipse    ctrl + t    来查找所以相应函数的实现类。

原创粉丝点击