Итак, я пытался найти правильный способ получить то, что должно быть довольно простым наследованием, чтобы функционировать (так, как я хочу;)), и я терплю неудачу.Подумайте об этом:
class Parent
{
public String name = "Parent";
public Parent() {};
public void doStuff()
{
System.out.println(name);
}
}
class Child extends Parent
{
public String name = "Child";
public Child()
{
doStuff();
}
}
Я понимаю, что Java не делает то, что я ожидаю в этом случае, так как по некоторым причинам переменные-члены не переопределяются так же, как методы, но мой вопрос в том, чтоправильный способ достичь поведения, которое я ожидаю?Я хотел бы, чтобы мой базовый класс содержал некоторые функции, которые работают с переменными-членами, предоставленными / определенными данным подклассом.Я думаю, что get / sets может работать, но тогда это разрушает мою способность просто вызывать super () и заставлять мой базовый класс выполнять конструкцию, необходимую, чтобы мои подклассы содержали связку конструкций вместо того, чтобы изолировать их от базового класса.
Любые конструктивные предложения приветствуются.