装飾モード

1329 ワード

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を実現します.
 
目的は2つあります.
1:既存の問題に対する修正.
2:従来の機能の完備.