У меня есть классы ниже.Получение свойства внутри подкласса с использованием java-наследования?
public abstract class BaseRequest{
protected SomeEntity entity;
public BaseRequest() {
entity= new SomeEntity();
}
public void setName(String name){
entity.setName(name);
}
public void setAge(String age){
entity.setAge(age);
}
}
public class Request extends BaseRequest{
private String address;
public Request() {
super();
}
public void setAddress(String address){
this.address=address;
}
public String getAddress(){
return this.address;
}
}
создать BaseRequest, потому что он может быть использован многими суб классов. Также у клиентов не должно быть доступа к SomeEntity property of BaseRequest.java Теперь клиенты могут использовать Request
, как показано ниже.
Request re = new Request();
re.setName("xxx");
re.setAge("xxxxx");
re.setAddress("xxxxxx");
и клиенты отправят этот запрос в сервисный метод, как показано ниже.
public void saveData(Request request){
//here i should get SomeEntity instance directly.
}
Чтобы получить SomeEntity экземпляра заполняется непосредственно я могу обеспечить метод получения в BaseRequest.java
. Но если я предоставляю getter, тогда даже клиенты могут также получить экземпляр SoemEntity, создав экземпляр . Запрос. которые я не хочу позволять клиентам получить к нему доступ. Теперь вопрос в том, есть ли лучший способ получить someEntity instace внутри saveData()?