gpt4 book ai didi

java - 逐类扩展并扩展另一个类是一种好的做法吗?

转载 作者:行者123 更新时间:2023-12-02 09:26:43 26 4
gpt4 key购买 nike

我缺少在 Java 中扩展多个类的能力。我想在一个类中定义一些属性和方法,以将这些属性和方法保留在一个位置,这些属性和方法将在多个类中用于不同的目的。接下来,我需要 JPanel 功能,因此我也需要通过此类扩展我的类。

我想到了一个解决方案,但我不确定这是否是正确的方法。制作这样的东西是个好习惯吗?我有课:

/*
* Class for keeping common arguments
* it is not possible to extends by two classes
* so I need extend here JPanel
*/
public class **ContentPanel** extends javax.swing.**JPanel** {
private arg1;
private arg2;

public void commonMethod1() {

}
/* ... */
}

接下来,我将这个扩展用于一些类:

public class CashboxesPanel extends ContentPanel {
/* specific class with all needed functionality, some arguments, methods used only for this class ect. */
}

public class CardIndexesPanel extends ContentPanel {
/* next specific class with implemeted original funcionality not used anywhere */
}

/* more classes */

我看到主要缺点:

  • 尚不清楚有多少类被其他类扩展。我必须检查扩展类的源以检查它是否没有扩展另一个类,
  • 我没有在顶部看到最重要的信息:基类是 JPanel,
  • 如果不清楚更多类的“链”,那就太糟糕了......

当然,接口(interface)不能有属性和实现的方法,所以它们对我来说不可用。对于抽象类,也不支持扩展多个抽象类。

有人可以给我关于如何处理这个 Java 继承的建议吗? (=请告诉我世界仍然美丽,并且有一个现有的“美丽”解决方案可以解决我的问题...)

最佳答案

有一种观点认为组合比继承更好

您可能想看看strategy patterndecorator pattern .

关于java - 逐类扩展并扩展另一个类是一种好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58292902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com