当前,我想以静态语言实现装饰器模式。考虑以下结构:
Entity <-------- Decorator
^ ^ ^
| | |
| | |
Shape Group ConcreteDec
当我只有一个ConcreteDec
时,我无法调用Group.add(Entity)
中定义但未继承自Group
的函数Entity
。 Shape
不是可以添加任何内容的类; Shape
不能有成员,这是没有道理的。无法从add(Entity)
的{{1}}继承Entity
。
是否有一种方法可以从Shape
调用add(Entity)
而不破坏ConcreteDec
或装饰器模式?