继承
abstract DecoratormethodAmethodB
具体装饰者。它们“有一个”指向抽象组件component的引用,并定义一个或多个与component接口一致的接口
abstract ComponentmethodA()methodB()
concreteDecoratorBComponent componentmethodA()methodB()
concreteComponentmemthodA()memthodB()
concreteDecoratorAComponent componentmethodA()methodB()
这是一个抽象组件,装饰者和被装饰者都直接或间接继承它,以达到\"类型匹配\"。
被装饰者
装饰者超类,所有的具体装饰者都继承它