我有以下类(class):
public abstract class Parent {
public abstract boolean checkName(String str);
}
public class Child1 extends Parent {
public static final String NAME = "CHILD1";
@Override
public boolean checkName(String str) {
//check input validity:
if (!NAME.equals(str)) {
throw new IllegalArgumentException("some thing");
}
//...
}
}
public class Child2 extends Parent {
public static final String NAME = "CHILD2";
@Override
public boolean checkName(String str) {
//check input validity:
if (!NAME.equals(str)) {
throw new IllegalArgumentException("some thing");
}
// ...
}
}
你可以看到两个类中 checkName
方法的 check input validity
部分是相同的。我知道没有办法将这个联合部分移动到抽象 checkName
parent 的方法,但是有没有办法避免这种重复呢?
最佳答案
你可以换个方式,让 checkName()
函数在 Parent
类中具体化,让它做输入有效性检查,然后调用一些抽象方法您的子类实现其余的处理。
关于java - 在子类中重用条件语句。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30851389/