【发布时间】:2011-08-22 18:44:20
【问题描述】:
请让我知道这是否不合适(特别是 Programmers.SE 或其他内容是否更适合该问题。)
好的。所以我有许多“特征”,我目前正在将它们表达为接口。我们称它们为“可更新的”和“可破坏的”。将它们表示为接口的缺点是我无法在所有“可破坏”组件之间共享行为;另一方面,将这些表示为抽象类意味着如果不将混合特征明确定义为另一个抽象类(“UpdateableAndDestructible”),我就无法混合和匹配,而且这在那时感觉就像是对抽象类功能的滥用。但是,如果没有更清洁的方法来处理这个问题,我可能最终会这样做。
就这个难题的纯 Java 解决方案而言,我有哪些选择?我是否可以描述共享行为,然后在我认为合适的情况下进行混合和匹配,而不必明确描述我将使用的每个排列?
【问题讨论】:
-
您正在描述 mixins - 如果您正在搜索,这可能是一个有用的术语。
标签: java interface abstract-class traits