装饰模式 decorate

package decorate;

public class Base {
   public String method(){
	   return "base";
   }
}
  package decorate;
public class Decorate1 extends Base {
    private Base base;
    public  Decorate1 (Base base)
    {
    	this.base=base;
    }
    public String method()
    {
    	 return base.method()+",Decorate1";
    }
}

 package decorate;

public class Decorate2 extends Base {
    private Base base;
    public  Decorate2 (Base base)
    {
    	this.base=base;
    }
    public String method()
    {
    	 return base.method()+",Decorate2";
    }
}

 package decorate;

public class Test {
	public static void main(String[] args) {
          Base obj=new Base();
          obj=new Decorate1(obj);
          obj=new Decorate2(obj);
          System.out.println(obj.method());
          
	}
}

 

装饰模式 可以对原有系统 或类进行 扩展。

重新包装、计算,实现更加方便、正确的api。

 

目的有两个:

1:对原有问题的修改。

2:对原有功能的完善。

 

你可能感兴趣的:(装饰模式)