您的位置:首页 > 其它

使用策略模式实现加减乘除运算

2014-03-11 16:06 387 查看
public interface Strategy
{
public  int method(int x,int y);
}
//抽象策略角色,由抽象类或者接口实现

public class AddStrategy implements Strategy
{
public int method(int x,int y)
{
return x+y;
}
}
//加法的实现类

public class SubStrategy implements Strategy
{
public int method(int x,int y)
{
return x-y;
}
}
//减法的实现类

public class MulityStrategy implements Strategy
{
public int method (int x,int y)
{
return x*y;
}
}
//乘法的实现类

public class ChuStrategy implements Strategy
{
public int method(int x,int y)
{
return x/y;
}
}
//除法的实现类

public class MediaClass
{
private Strategy strategy;
public MediaClass(Strategy strategy)
{
this.strategy=strategy;
}
public int calculate(int x,int y)
{
return strategy.method(x, y);
}
}
//环境角色,具有策略类的引用,供给客户调用!!!

public class CalcuTest
{
public static void main(String args[])
{
MediaClass add=new MediaClass(new AddStrategy());
int addvalue=add.calculate(5,6);
System.out.println(addvalue);
MediaClass sub=new MediaClass(new SubStrategy());
int subvalue=sub.calculate(5,6);
System.out.println(subvalue);
MediaClass mul=new MediaClass(new MulityStrategy());
int mulvalue=mul.calculate(5,6);
System.out.println(mulvalue);
MediaClass chu=new MediaClass(new ChuStrategy());
int chuvalue=chu.calculate(5,6);
System.out.println(chuvalue);
}

}

//客户端调用
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: