装饰着模式是动态的增强类的功能,要求被装饰的类必选实现了某个接口
被装饰类接口
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();
}
}