我正在构建2D场景图的代码,我有一个抽象类,Node将用于指示可以在场景图中使用某种类型的项。但是,由此实现的类具有不同的类型,例如叶节点和转换节点。我如何表明这些差异?我会使用属性,其他接口,还是什么?
编辑:看来我提供的信息不足。这是我在当前层次结构中提供的尽可能多的信息:
答案 0 :(得分:0)
很难为您提供建议,因为您没有向我们提供有关您的问题域的太多信息。你也在混合你的术语,所以我不清楚你是否将叶子和转换节点看作接口,抽象类或类。
我想在设计方面你需要问自己叶子节点与转换节点的区别。如果它纯粹是节点的属性,那么使用属性可能是最优雅的解决方案,但如果它们有不同的行为,那么它会指向不同的类。
根据名称,我们可以假设变换节点是“可变形的”,因此具有“变换”方法,但叶子不可变形。我建议那么叶子节点更好的是没有变换方法并且在不同的类中。