装饰器模式
装饰器模式: 是给一些对象增加一些新的功能 并且是动态的 要求装饰对象和被装饰对象实现同一接口 装饰对象持有被装饰对象的实例
public class Decorator implements Sourceable {
private Sourceable sourceable;
public Decorator(Sourceable sourceable) {
super();
this.sourceable = sourceable;
}
@Override
public void method() {
System.out.println("before method");
sourceable.method();
System.out.println("after method");
}
}
interface Sourceable {
void method();
}
class Source implements Sourceable {
@Override
public void method() {
System.out.println("this is original method");
}
}
class Test {
public static void main(String[] args) {
Source source = new Source();
Sourceable sourceable = new Decorator(source);
sourceable.method();
}
}
输出的结果为: