【发布时间】:2011-02-13 10:47:33
【问题描述】:
所以我正在努力为 Java 中的数据结构创建可视化。我已经开始实现数据结构(二叉搜索树),但我需要向包含的节点类添加一些额外的功能。就约定和最佳实践而言,我应该创建一个具有此附加功能的节点的子类,还是应该只修改我拥有的并在那里记录它?
我的问题与here 的问题相似,但我有点想不通。
我知道这对我正在做的事情可能无关紧要,所以我把这个问题作为一个普遍的问题来问。
编辑:我可能应该更清楚。我的修改实际上并没有改变原始实现,只是添加了几个额外的字段(x 和 y 坐标加上一个布尔值来设置是否突出显示该节点)和访问/修改这些字段的函数。我正在使用的节点类也包含在 BST 实现中
从阅读您的答案看来,这两种情况似乎都有待商榷。我同意创建一个单独的类或接口通常是最好的做法。创建另一个类似乎会变得很棘手,因为您仍然需要一种从节点中提取数据的方法。我使用的 BST 实现是通用的,它本身在 Node 类或 BST 类中没有任何此类功能,只能返回数据,所以至少我必须添加它。
感谢您提供信息丰富的回复。
【问题讨论】: