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
使用策略模式实现加减乘除运算
最新推荐文章于 2023-02-16 15:22:36 发布
![](https://img-home.csdnimg.cn/images/20240611030827.png)