【发布时间】:2011-11-01 21:34:50
【问题描述】:
我有两个班级 Student 和 Tutor。 Tutor 基本上是一个拥有facultyID 的学生(Tutor 扩展了Student)。合同完成后,他又回到了学生时代。那么我可以以某种方式将他转换回他的“以前的”学生名单吗?
【问题讨论】:
-
您可能根本不应该使用继承来建模这种关系。根据您的简短描述,您可能需要考虑创建一个 Tutor 包装器,该包装器在构建时需要一个学生。然后,当合同完成时,您可以简单地让对包装器的引用超出范围并继续直接使用 Student 实例。
-
您能否为您的问题提供更多背景信息?恕我直言,这实际上取决于您要实现的目标。也许添加一个
boolean isTutor;成员或者简单地保留一个也是导师的学生名单就足够了。无需仅仅因为可以就使用 OO 模式对所有内容进行建模。 -
@kritzikratzi 我喜欢你的评论“没有必要用 OO 建模所有东西......只是因为你可以”。完全同意!
标签: java object subclass superclass