您的位置:首页 > 其它

Strategy 策略模式

2014-08-11 10:45 309 查看
package com.lonton.designpatterns;

interface Strategy
{
	public void processSpeed(int speed);
}

class NicePolice implements Strategy
{

	@Override
	public void processSpeed(int speed)
	{
		// TODO Auto-generated method stub
		System.out.println("This is your first time, be sure don't do it again!");
	}
	
}

class HardPolice implements Strategy
{

	@Override
	public void processSpeed(int speed)
	{
		// TODO Auto-generated method stub
		System.out.println("Your speed is "+ speed + ", and should get a ticket!");
	}
	
}

class Situation
{
	private Strategy strategy;
	
	public Situation(Strategy strategy)
	{
		// TODO Auto-generated constructor stub
		this.strategy = strategy;
	}
	
	public void handleByPolice(int speed)
	{
		strategy.processSpeed(speed);
	}
	
}

public class StrategyTest
{
	public static void main(String[] args)
	{
		Situation situation1 = new Situation(new NicePolice());
		Situation situation2 = new Situation(new HardPolice());
		
		situation1.handleByPolice(10);
		situation2.handleByPolice(10);
	}
	
	
	
	
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: