1. 程式人生 > >23種設計模式學習之裝飾者模式

23種設計模式學習之裝飾者模式

eth light 裝飾者模式 per int ring ava 功能 接口

裝飾著模式是動態的增強類的功能,要求被裝飾的類必選實現了某個接口

被裝飾類接口

public interface Source {
     void method1();
}

被裝飾類

public class SourceImpl implements Source {
    @Override
    public void method1() {
        System.out.println("2");
    }
}

裝飾類

public class Decorator implements Source {
    private SourceImpl source;

    public Decorator(SourceImpl source) {
        super();
        this.source = source;
    }

    @Override
    public void method1() {
        System.out.println(1);
        source.method1();
        System.out.println(3);
    }
}

實例

public class Demo {
    public static void main(String[] args) {
        Source source =new Decorator(new SourceImpl());
        source.method1();
    }
}

23種設計模式學習之裝飾者模式