У меня есть один интерфейс, реализованный в 4 классах. Есть некоторые переопределенные методы, которые выполняют почти одинаковую работу в каждом дочернем классе. Но проблема в том, что есть некоторые параметры в некоторых методах, которые являются обязательными для некоторых детей и не используются для некоторых детей, они перекрывают друг друга. Я должен переопределить метод во всех дочерних элементах, которые не используют этот параметр, и в некоторых случаях также передавать значение null. Я хочу смягчить эти параметры в том случае, если ноль не передан, все используемые параметры должны быть переданы переопределенному методу. Мой код настолько сложен, я попытался привести простой пример
public interface ParentInterface {
void func1(String f1p1, String f1p2);
void func2(String f2p1, String f2p2, String f2p3);
}
public class Child1 implements ParentInterface {
@Override
public void func1(String f1p1, String f1p2) {
System.out.println(f1p1 + f1p2);
}
@Override
public void func2(String f2p1, String f2p2, String f2p3) {
System.out.println(f2p1 + f2p3);
}
}
public class Child2 implements ParentInterface {
@Override
public void func1(String f1p1, String f1p2) {
System.out.println(f1p2);
}
@Override
public void func2(String f2p1, String f2p2, String f2p3) {
System.out.println(f2p1 + f2p2 + f2p3);
}
}
public static void main(String[] argh) {
ParentInterface pi1=new Child1();
pi1.func1("c1f1p1 ","c1f1p2 ");
pi1.func2("c1f2p1 ",null , "c1f2p3");
ParentInterface pi2=new Child2();
pi2.func1(null,"c2f1p2 ");
pi2.func2("c2f2p1 ", "c2f2p2 ", "c2f2p3");
}
Есть ли для этого шаблон проектирования, чтобы можно было уменьшить нулевые значения?