Так что у меня немного проблема с настройкой свойств в сценарии суперкласса.Настройка свойств суперкласса для подкласса
У меня есть 2 классов таким образом, что класс B является специализированной версией класса А, скажем ...
public class A {
private String name;
private int id;
...
}
public class B extends A {
private Date time;
private int status;
...
}
Теперь то, что я пытаюсь сделать, это использовать метод, который используется для установки свойств в а из результирующего набора, но вместо того, чтобы установить их в экземпляре B.
public A setProperties(ResultSet rs) {
A a = new A();
a.setName(rs.getString(...));
...
return a;
}
Я попытался с возвращения из этого и приведения его в качестве B, но, конечно, не всех а являются B в ... так что это не сработает. Я также попытался добавить еще один параметр к методу setProperties
, чтобы он взял A и вернул A. Таким образом, я могу использовать полиморфизм, чтобы вернуть свой B, но тогда все мои значения были исключены.
Я в затруднении здесь, любые рекомендации приветствуются.
Мне придётся попробовать. Если я не переопределяю метод в подклассе, он все равно должен работать, чтобы установить свойства суперкласса, правильно? – Shaded
Справа. Если вы явно не переопределяете 'setProperties' в подклассе, но все же вызываете его в экземпляре подкласса, свойства будут установлены в суперклассе. – mre
У меня все еще есть проблема, я проверяю имя в 'A.setProperties()', и он выглядит нормально. После возврата метода я снова проверю его в 'B.setProperties()' и он равен нулю. Есть предположения? – Shaded