装饰模式【Decorator Pattern】

1.装饰模式即为已有的功能动态地添加功能的一种方式

2.装饰模式提供一个解决方案,把每个需要装饰的功能放在单独的类中,同时包装需要装饰的对象,客户端在运行时可以根据需要有选择的运行or不运行

 

abstract class design_Pattern_Decorator_Pattern_Commont
	{
		public abstract void design_Pattern_Decorator_Pattern_Method();
	}


	// 实现类,实现该方法

	class design_Pattern_Decorator_Pattern_Commont_Extend extends design_Pattern_Decorator_Pattern_Commont
	{
		public void design_Pattern_Decorator_Pattern_Method()
		{
			System.out.println("design_Pattern_Decorator_Pattern_Method");
		}
	}


	// 如果我们要在调用这个方法之前做标记,如System.out.println("Beginning the Decorator_Pattern");

	// 新建抽象类,继承原类

	abstract class design_Pattern_Decorator_Pattern_Decorator extends design_Pattern_Decorator_Pattern_Commont
	{
		private design_Pattern_Decorator_Pattern_Commont _design_Pattern_Decorator_Pattern = null;

		public design_Pattern_Decorator_Pattern_Decorator(design_Pattern_Decorator_Pattern_Commont Par)
		{
           _design_Pattern_Decorator_Pattern = Par;    
		}

		

		public void design_Pattern_Decorator_Pattern_Method()
		{
			
			_design_Pattern_Decorator_Pattern.design_Pattern_Decorator_Pattern_Method();
		}
	}
   

   // 每需要新增加的方法,我们都放在新的类中,同时该类继承design_Pattern_Decorator_Pattern_Decorator
	class design_Pattern_Decorator_Pattern_Decorator_Exe extends design_Pattern_Decorator_Pattern_Decorator
	{
		public design_Pattern_Decorator_Pattern_Decorator_Exe(design_Pattern_Decorator_Pattern_Commont Par)
		{
			super(Par);
		}

		public void design_Pattern_Decorator_Pattern_Decorator_Exe_re()
		{
			System.out.println("Beginning the Decorator_Pattern");
		}

		public void design_Pattern_Decorator_Pattern_Method()
		{
             design_Pattern_Decorator_Pattern_Decorator_Exe_re();
			 super.design_Pattern_Decorator_Pattern_Method();
		}
	}

  

  // 客户端访问
	class design_Pattern_Decorator_Pattern_Client
	{
		public void design_Pattern_Decorator_Pattern_Client_Test()
		{

			  design_Pattern_Decorator_Pattern_Commont co = null;

			  // 最开始的方法
			  co = new design_Pattern_Decorator_Pattern_Commont_Extend();
			  // 在方法之前加入说明
			  co = new design_Pattern_Decorator_Pattern_Decorator_Exe(co);

			  co.design_Pattern_Decorator_Pattern_Method();

		}
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值