Java 一个空的超级班?

Java 一个空的超级班?,java,javafx,Java,Javafx,我想要一个可以列出TableObjects(自制类)的可观察列表。我将把这个可观察列表发送给TableView对象。我的问题:拥有一个空的超级类有什么意义吗 我将创建三个不同的表,其中显示三种不同类型的对象。我的计划是从TableObject创建这些类型,这意味着我将创建扩展TableObject的子类。因此TableObjectA、B和C将具有字符串值,例如名称或类型 实际上,我可以放弃SuperTableObject超类,但出于特定于设计的原因,这不符合我的兴趣吗?实际上,我对软件设计以及如

我想要一个可以列出TableObjects(自制类)的可观察列表。我将把这个可观察列表发送给TableView对象。我的问题:拥有一个空的超级类有什么意义吗

我将创建三个不同的表,其中显示三种不同类型的对象。我的计划是从TableObject创建这些类型,这意味着我将创建扩展TableObject的子类。因此TableObjectA、B和C将具有字符串值,例如名称或类型


实际上,我可以放弃SuperTableObject超类,但出于特定于设计的原因,这不符合我的兴趣吗?实际上,我对软件设计以及如何从我所学的课程中设计一个对未来开发友好的软件所知甚少。

您只需描述,在您的例子中,它不应该是一个空的超类,而应该是一个接口。

如果您的超类代表一种常见的行为,您可以将它放在适当的位置。如果希望所有类都包含任何特定的行为,可以在适当的位置设置接口。但是,如果您想要拥有一个超级类只是为了将几个子类聚集在一起或出于任何类似的原因,我建议您遵守适当的类命名约定,这样做,而不是拥有超级类。

您是否计划拥有子类的任何兄弟类?如果不是,这可能不值得。如果是的话,就是这样。你为什么需要3个不同的TableObject类?似乎一个TableObject类可以工作,无论您是将其模板化还是让它接受a、B和C共有的超类型。不同的子类没有我想要在表中显示的相同值,这意味着每个TableObject都有我想要显示的不同内容。比如说,A代表一个可移动的平台,B代表一个可移动的平台。如果你设计这个平台,使它基本上是一个列表列表,你可以在里面放任何你想要的东西。它的通用性和可扩展性。