如何在Java中委托其他类中的一个类的实现?

时间:2016-12-08 14:24:06

标签: java delegation

我正在尝试重构util java class A(例如)。它由所有静态方法组成,但是有很多方法,所以我提取了几个彼此独立的方法,并创建了一个辅助类B(代码质量分析工具抱怨在这个类中有太多任何方法)现在,我不知道怎么让B级向后兼容? 我被要求创建一个"方法"在A类中,并将B类的实现委托给它。我不明白如何做到这一点。 我知道我们可以通过接口和java中的其他设计模式实现委派。但这些课程并不复杂。

那么如何通过创建方法来实现呢?

    public class A{
    public static doSomething1();
    public static doSomething2();
    public static doSomething3();

    }

    public class B{
    public static doSomethingElse1();
    public static doSomethingElse2();
    public static doSomethingElse3();

    }

1 个答案:

答案 0 :(得分:1)

这称为适配器模式,非常简单。在课程A中创建方法:

class A {
    ...
    public static doSomethingElse1() {
        B.doSomethingElse1();
    }
}

在类B中只调用相同的方法。

虽然这回答了你的问题,但它对你没什么帮助。最好的做法是尝试并完全删除这些实用程序类,进行更多OO设计,但没有更多细节,很难说是否可能。