我有一个类(class)旅程,我想制作一个超类(class)和另一个类(class)计划的旅程。
plannedjourney 类扩展了 JFrame,因为它包含表单......但是我也希望这个类扩展 Journey..
有没有可能的方法来做到这一点?
最佳答案
不要混合模型和 View 。如果您将两个域明确分开,那么您将不需要多重继承(这次)。
您有一个用于旅程的模型类和一个用于此类旅程的查看器。查看器应该子类化 Component
并显示(某处)在您的窗口中(JFrame
实例)。
此查看器采用一个旅程对象并显示旅程的属性。 Journey
本身就有关于旅程的所有信息,只有查看者知道如何向用户呈现旅程:
public class PlannedJourney extends JPanel {
private Journey journey;
public JourneyViewer(Journey journey) {
this.journey = journey;
// build this panel based on the journey object
// (add labels, subpanels, widgets, ...)
}
}
现在您可以创建一个 PlannedJourney 实例并将其添加到应用程序
JFrame
的适当位置。关于Java:一个类可以同时继承两个父类(super class)吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4594005/