【发布时间】:2013-02-18 18:27:28
【问题描述】:
在 Java 中,我使用的是装饰器模式。有时Object 会获得许多类型,因为它可以用许多类进行装饰。我怎样才能得到一个对象的所有不同类型?
abstract class: plate
concrete class: JapanesePlate, WesternPlate
abstract plateDecorator extends plate
concrete decorators: MeatPlateDecorator, TomatoPlateDecorator,
有时,JapanesePlate 可以用MeatPlateDecorator 或TomatoPlateDecorator 或两者装饰。
我只想知道有没有什么办法可以知道?
【问题讨论】:
-
“一个对象有多种类型,因为它可以用许多类进行装饰”是什么意思?如果你能举个例子会有所帮助。
-
我很感兴趣,您为什么需要这样做?基类知道它的子类是违反 OO 哲学的
-
其实我并没有使用它,它只是用于一些测试目的。
-
@JonSkeet,我添加了一个例子