我有一个类(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/

10-08 20:48