java - 删除两个不相关类的相同公共(public)方法中的重复代码

标签 java code-duplication

我有 2 个不同的类,其中包含大量相同的公共(public)方法。

public class HorizontalPackageSelector extends HorizontalScrollView {

    // skipped

    public void method1() {
        doSomething1();
        doSomething2();
    }

}

public class VerticalPackageSelector extends ScrollView {

    // skipped

    public void method1() {
        doSomething1();
        doSomething2();
    }

}

以及其他几个方法(两个类中大约 200 行)。

我只看到一种避免重复的方法:

public class PackageSelectorHelper {

    // skipped

    public void method1() {
        doSomething1();
        doSomething2();
    }

}

public class HorizontalPackageSelector extends HorizontalScrollView {

    private final PackageSelectorHelper helper = new PackageSelectorHelper(this);

    // skipped

    public void method1() {
        helper.method1();
    }

}

public class VerticalPackageSelector extends ScrollView {

    private final PackageSelectorHelper helper = new PackageSelectorHelper(this);

    // skipped

    public void method1() {
        helper.method1();
    }

}

但是如果相同方法的数量太多,这并不容易做到。

最佳答案

您可以创建一个单独的类并使您的类从该类扩展 或者您可以使方法静态 - 不完全了解方法中的实现

关于java - 删除两个不相关类的相同公共(public)方法中的重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720548/

相关文章:

java - 在 Java 中复制对象

java - 使用 JSch 库在 Java 中获取 session 和 SFTP channel

c# - 有没有办法删除此代码中的重复项

javascript - 如何删除父标签名称?

java - 在 C++ 中使用 java 类时找不到类

java - 为什么使用 cookie 而不是记录每笔交易

java - 安卓 : Navigate to another fragment

java - 复合 int 键和值

Python:遍历对象在某些地方和最后执行代码

java - 静态方法中的重复代码