У меня есть абстрактный суперкласс и несколько подклассов, которые наследуют поля, определенные в суперклассе, но каждый подкласс имеет разные значения для этих полей. Когда вызывается подкласс, я использую конструктор для правильной установки полей.
Должен ли я использовать для этого прямые ссылки field = value
или использовать методы набора суперклассов setField(value);
?
Я бы предпочел оставить поля закрытыми, поэтому я хочу избежать прямых ссылок.
Другой альтернативой является вызов суперконструктора, который позволит мне использовать прямые ссылки в конструкторе суперкласса super (T value)
и в суперклассе SuperClass(T value){ field = value}
. Будет ли это лучшим способом? Я мог бы даже использовать методы set внутри суперконструктора, но это кажется излишним.