2016-08-26 2 views
-1

Разные между getters и func getSomething()?

Какая разница между getter переменной mFirstName и методом экземпляра getFirstName()? Если у меня есть первый, зачем мне нужен другой метод get?

+2

* «Зачем мне нужен другой метод получения?» * - Вы этого не делаете. Этот код выглядит как буквальный перевод с другого языка. Посмотрите на «Свойства» в книге Swift. –

ответ

0

Получатель переменной всегда выполняется. Единственное исключение - когда вы получаете или устанавливаете переменные внутри init. Это быстрый способ внедрения геттеров и сеттеров. Такие языки, как Java, не имеют такой возможности, поэтому вам нужно создавать функции getter и setter.

ИМО, предоставляющий геттеры и сеттеры по вашей переменной, является более безопасным. Таким образом вы гарантируете, что их всегда называют. Если у вас есть функции getter и setter, а также изменить переменную напрямую и забыть вызвать сеттеры и геттеры, это может привести к странным ошибкам.

+0

Во-первых, спасибо вам за ответ, но у меня есть другой вопрос. Im перевод кода с Java на Swift. И если у меня есть в Java getters и seters и некоторые func вроде: public String getGradeByLabel (BigDecimal percent) { для (GradingSystemLabelTo label: getLabels()) .... Как бы я написал что-то вроде getLabels в Swift? –

+0

Что именно вы имеете в виду? Цикл for? Это будет ярлык в ярлыках. Но есть и другие вопросы, даже на SO, которые более подробно ответили на эти вопросы. – Yannick

+0

Да, я имею в виду именно код внутри цикла, как бы вы его перевели? Большое спасибо за помощь –

Смежные вопросы