实现引用多个类的单个 Java 类/接口

2023-12-20

问题陈述: 我们有多个类文件(~200+),每个类文件实现不同的方法,有些还使用彼此的方法来实现自己的方法。

我们希望在代码中调用多个此类方法(~20-30),并让它们提供诸如写入 UI 网页和从网页读取等功能。

由于我们希望使这个过程变得简单,我们需要一个包含所有这些多个类引用(~200+)的单个类/接口,并且我们只需要在我们的代码中导入/包含这个单个类/接口,然后使用它来引用类文件中的所有方法。

Question: 以上可能吗?如果是这样,如何使用类或接口或其他东西?

我在这里提供了我们尝试过的示例和信息:在Java中的同一个接口中实现多个类? https://stackoverflow.com/questions/47505033/implement-multiple-classes-in-the-same-interface-in-java

基本上我们已经尝试过了

  1. 创建一个类,其中声明了所有其他类
  2. 创建一个接口,该接口具有跨多个类的实现(上面提到的~200+)
  3. 实现了一个类和一个接口

这些方法似乎都不起作用。

作为我们想要的代码要点,下面提供了一个示例。

Example (这不是正确的代码或实现,只是想提供一个我们想要在代码中执行的操作的示例):

我有 2 个课程,名为“ABC_FamilyGivenName“&”ABC_DOB性别”。 我创建了一个界面“Common".

我想在类中的代码中使用上述两个类中的方法”应用".

在当前的实现中,Java 希望我将 @Override 添加到ABC_FamilyGivenName & ABC_DOB性别. 如果我们有大约 500 个这样的方法,这又会产生开销,因此需要重写每个 c~200 个类文件中的所有大约 500 个方法??

***INTERFACE***:

public interface Common {
    void ABC_GivenNames();
    void ABC_FamilyNames();
    void ABC_Gender();
    void ABC_BirthDay();
}



***IMPLEMENTATION CLASSES***:

**ABC_FamilyGivenName**
public class ABC_FamilyGivenName extends Base implements Common {

    public void ABC_GivenNames(){
        // Implementation code
    }

    public void ABC_FamilyNames(){
        // Implementation code
    }
}

**ABC_DOBGender**
public class ABC_DOBGender extends Base implements Common {

    public void ABC_Gender(){
        // Implementation code
    }

    public void ABC_BirthDay(){
        // Implementation code
    }
}



**USE IMPLEMENTED CLASS IN CODE**:
public class Application extends Base {

    Common commonClass = new ABC_FamilyGivenName();
    /* *DO I NEED THIS? I THINK I DO, BUT CODE/JAVA SAYS I DO NOT*
     * Common commonClass = new ABC_DOBGender();
     */

    public void ELP_C0050_PassportDetails(){
        commonClass.ABC_GivenNames();
        commonClass.ABC_FamilyNames();
        commonClass.ABC_DOB();
        commonClass.ABC_Gender();
    }
}

因此,您可以用它做更多的事情,但这是我正在谈论的一个非常简单的例子。不要在它们上面设置接口,而是将它们插入。

//Component Classes

public class DOBGender {//Has the specific methods you want

}



public class FamilyGivenName {//Has the specific methods you want

}

//Then just plug them in to this class

public class Person {

    DOBGender dobGender;
    FamilyGivenName fgn;

    public Person(DOBGender dobGender, FamilyGivenName fgn) {//Plug them in
        this.dobGender = dobGender;
        this.fgn = fgn;
    }

    public DOBGender getDobGender() {
        return dobGender;
    }

    public void setDobGender(DOBGender dobGender) {
        this.dobGender = dobGender;
    }

    public FamilyGivenName getFgn() {
        return fgn;
    }

    public void setFgn(FamilyGivenName fgn) {
        this.fgn = fgn;
    }
}

就像我之前所说的,这可以用更复杂的方式来实现,但也会使用户对如此多的类进行编码变得稍微容易一些。如果这不是你想要走的路线,我可以删除这条路线并采取新的方法。如果你想让我扩展这个想法,我也可以这么做。

我希望这有帮助。

EDIT:

如果您只想调用 Person 并开始使用组件方法,这就是我所指的。

    public class Person {

    DOBGender dobGender;
    FamilyGivenName fgn;

    public Person() {
        dobGender = new DOBGender();
        fgn = new FamilyGivenName();
    }

    public DOBGender getDobGender() {
        return dobGender;
    }


    public FamilyGivenName getFgn() {
        return fgn;
    }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实现引用多个类的单个 Java 类/接口 的相关文章

随机推荐