Java接口设计:我应该在其中放置许多将被所有子类使用的重复代码吗?

问题描述 投票:1回答:1
interface Tuple {
    void method1();
}

class Tuple1 implements Tuple {

    @Override
    public void method1() {
        // some code ....
        utilityMethod();
        // some code ....
    }

    // it will be used by subclasses of Tuple only
    private void utilityMethod(){ 
        // some code....
    }
}

class Tuple2 implements Tuple {

    @Override
    public void method1() {
        // some code ....
        utilityMethod();
        // some code ....
    }

    // it will be used by subclasses of Tuple only
    private void utilityMethod(){
        // some code....
    }
}

utilityMethod将由Tuple所有子类使用,我应该把utilityMethod放在哪里最好?

java interface subclass
1个回答
0
投票

没有一些令人信服的理由,我将其放在Tuple中。您可以将其设为默认方法。喜欢,

interface Tuple {
    void method1();
    // it will be used by subclasses of Tuple only
    default void utilityMethod(){ 
        // some code....
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.