![]() |
|
|
![]() |
![]() |
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 476
|
![]() Ребята, у меня такой вопрос забавный и незначимый, просто любопытно.
Имеем в классе свойство и простой геттер (без каких-либо преобразований) для него: У нас внутри этого класса есть метод, который использует в своих расчётах значение свойства _someVar. Как обычно принято обращаться за значением: this.someVar или _someVar?
__________________
Не сломано - не чини! |
|
|||||
__________________
местонахождение |
|
|||||
Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
|
В зависимости от того, что именно требуется. Ведь если свойство и псевдо-свойство (симулируемое геттером) ничем не отличаются, зачем геттер?
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
Разные отклонения могут возникнуть при наследовании, например у наследников геттер станет возвращать преобразованное значение (не в сантиметрах а в дюймах например). Заранее трудно предусмотреть))
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 476
|
Да, но это не главное.
![]() Цитата:
Прихожу к выводу, что не надо ничего пихать в геттер кроме непосредственно значения, за которым обращаются.
__________________
Не сломано - не чини! |
|
|||||
Регистрация: Jun 2014
Адрес: Санкт-Петербург
Сообщений: 185
|
Цитата:
Сори, затупил. Пишу на Haxe довольно давно, уже привык к вот такому: Добавлено через 5 минут Цитата:
На мой взгляд, в большинстве случаев геттер должен выполнять незначительные преобразования, связанные со спецификой кода
__________________
В прошлом - AS3 программист, в данный момент пишу на Haxe Последний раз редактировалось Wormhole; 09.08.2018 в 13:16. |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 476
|
Цитата:
Цитата:
Цитата:
![]()
__________________
Не сломано - не чини! |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 476
|
Цитата:
![]() Перенёс все поля во внутренний класс Parameters, вместе с сеттерами и геттерами. В Character имеем: Но поле _intelligence в классе Character остаётся, в нём теперь будет храниться read-only значение интеллекта, но уже со всеми модификаторами. Забрать его можно геттером. При изменении интеллекта (любым методом класса Character) не избежим вот такой записи, т.к. нет другого способа установки нового значения: Сеттер в классе Parameters посылает событие об изменении значения (он его и так посылает, чтобы поймать и отразить изменения во Вью), это событие ловит класс Character (опять же он его и сейчас ловит). В приёмнике события ставим: _intelligence = _params.intelligence; // Вызываем методы, проверяющие статусы и экипировку на предмет модификаторов интеллекта // Их же вызываем при смене статусов или экипировки Что думаете?
__________________
Не сломано - не чини! |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:29. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|