首页 > 其他 > 详细

装饰模式Decorator

时间:2016-07-16 02:28:57      阅读:243      评论:0      收藏:0      [点我收藏+]

装饰模式Decorator

?

/**
 * 抽象构件角色
 * @author InJavaWeTrust
 *
 */
public interface Farmer {

	public void work(String job);

}

?

/**
 * 具体构件角色
 * @author InJavaWeTrust
 *
 */
public class Jack implements Farmer {


	@Override
	public void work(String job) {
		
	}

}

?

/**
 * 装饰角色
 * @author InJavaWeTrust
 *
 */
public class Work implements Farmer {
	
	private Farmer farmer;

	public Work(Farmer farmer) {
		this.farmer = farmer;
	}


	@Override
	public void work(String job) {
		farmer.work(job);
	}

}

?

/**
 * 具体装饰角色
 * @author InJavaWeTrust
 *
 */
public class Plant extends Work {

	public Plant(Farmer farmer) {
		super(farmer);
	}
	
	public void work(String job) {
		System.out.println(job);
	}

}

?

/**
 * 具体装饰角色
 * @author InJavaWeTrust
 *
 */
public class Harvest extends Work {

	public Harvest(Farmer farmer) {
		super(farmer);
	}
	
	public void work(String job) {
		System.out.println(job);
	}

}

?

/**
 * 测试类
 * @author InJavaWeTrust
 *
 */
public class TestDecorator {
	
	public static void main(String[] args) {
		Farmer farmer = new Jack();
		Farmer plant = new Plant(farmer);
		plant.work("种植");
		
		Farmer harvest = new Harvest(farmer);
		harvest.work("收获");
	}

}

?

装饰模式Decorator

原文:http://injavawetrust.iteye.com/blog/2310967

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!