設計模式(Java)-裝飾者模式

類圖

這裏寫圖片描述

Coding
package DecoratorPattern;

/**
 * Created by jiangcw on 2017/2/3.
 */
public abstract class Component {
    public abstract void operate();
}
package DecoratorPattern;

/**
 * Created by jiangcw on 2017/2/3.
 */
public class ConcreteComponent extends Component{
    @Override
    public void operate() {
        System.out.println("Do something....");
    }
}
package DecoratorPattern;

/**
 * Created by jiangcw on 2017/2/3.
 */
public abstract class Decorator extends Component{
    private Component component =null;
    public Decorator(Component _component){
        this.component=_component;
    }
    @Override
    public void operate(){
        this.component.operate();
    }
}
package DecoratorPattern;

/**
 * Created by jiangcw on 2017/2/3.
 */
public class Decorator1 extends Decorator {

    public Decorator1(Component _component){
        super(_component);
    }
    @Override
    public void operate() {
        System.out.println("Decorator 1.....");
        super.operate();
    }
}
package DecoratorPattern;

/**
 * Created by jiangcw on 2017/2/3.
 */
public class Decorator2 extends Decorator {
    public Decorator2(Component _component){
        super(_component);
    }
    @Override
    public void operate() {
        System.out.println("Decorator 2.....");
        super.operate();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章