У меня есть классы ниже.java inheritance передовая практика?
public class BaseRequest {
protected List<Emp> names; // names property is required in many classes
}
public class FirstRequest extends BaseRequest {
public FirstRequest() {
names = new ArrayList<Emp>();
}
public setNames(List<Emp> names){
super.names = names;
}
public List<Emp> getNames(){
return super.names;
}
}
public class ServiceClass {
public void someMethod(List<Emp> emps) {
FirstRequest request = new FirstRequest();
request.setNames(emps);
//Some Logic
}
}
Я делаю наследование в правильном направлении? как я могу улучшить его дальше?
Спасибо!
использовать 'BaseRequest request = new FirstRequest();' вместо 'FirstRequest request' в стороне' ServiceClass' –
@SantoshJoshi, тогда ему также нужно объявить геттеры и сеттеры на суперклассе, хотя он может быть абстрактным и реализовывать их. – RamonBoza
Почему «имена» определены в «BaseRequest», но сеттер и получатель, а также инициализация в «FirstRequest»? Там могут быть причины для этого, но если это специально, переместите этот код в «BaseRequest». – Thomas