装饰器模式

概念

动态地给一个对象添加一些额外的职责。 就增加功能来说,装饰模式相比生成子类更为灵活

代码

  • Component抽象构件

Component是一个接口或者是抽象类,就是定义我们最核心的对象,也就是最原始的对象,

public abstract class Component {
    public abstract void test();
    public abstract void test2();

}
  • ConcreteComponent 具体构件

最核心、最原始、最基本的接口或抽象类的实现,你要装饰的就是他

public class ConcreteComponent extends Component {
    public void test() {
        System.out.println("实现 test");
    }

    public void test2() {
        System.out.println("实现 test2");

    }
}
  • Decorator装饰角色

实现接口或者抽象方法,它里面可不一定有抽象的方 法呀,在它的属性里必然有一个private变量指向Component抽象构件

  • 具体装饰角色

  • 调用

Last updated

Was this helpful?