阅读背景:

使用策略模式实现加减乘除运算_u012575573的专栏

来源:互联网 
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);
	}
	
}

//客户端调用public interface Strategy
{
	public  int method



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: