Цитата:
Сообщение от Wolsh
Разные отклонения могут возникнуть при наследовании, например у наследников геттер станет возвращать преобразованное значение (не в сантиметрах а в дюймах например). Заранее трудно предусмотреть))
|
В чем проблема создать геттер у тех наследников, у кого он будет преобразовывать значение?
Цитата:
Сообщение от Wolsh
Затем что он паблик, то есть свойство здесь read-only.
|
Сори, затупил. Пишу на Haxe довольно давно, уже привык к вот такому:
Код:
public var a(default, null):Int;
Добавлено через 5 минут
Цитата:
Сообщение от Appleman
\Если всю дополнительную логику убирать из геттера, то выходит, что нужно отдельно получать "чистое" значение свойства, а отдельно (другим методом) - его модификаторы и собирать всё уже на уровне класса, запрашивающего данные. Так?
|
Вот так. Просто создать отдельный публичный метод calculateFinalStrength(). Свойство после этого можно и private сделать, если оно в чистом виде во внешнем коде не фигурирует.
На мой взгляд, в большинстве случаев геттер должен выполнять незначительные преобразования, связанные со спецификой кода