Показать сообщение отдельно
Старый 19.03.2010, 12:46
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Цитата:
Еще я не могу понять зачем использовать геттеры и сеттеры, когда можно устанавливать значения напрямую обращаясь к переменной..
1) Ты можешь установить только геттер, без сеттера - например, считать текущее действие, а ля "Ждём ответа от сервера" - при этом можешь себе гарантировать, что это свойство никто не сможет поменять извне.
Цитата:
но для чего они защищаются? Я не могу привести такой пример, в котором необходимо пользоваться private и protected.. какая у них выгода перед public?
Аналогия - "Зачем защищать внутренние органы кожной и жировой прослойкой". Ответ - чтобы внешние факторы не могли нарушить работу всего организма.
И в правду, если у тебя есть метод
Код AS3:
public function onWorkEnds(e:Event):void{
//remove everything
}
который должен вызываться только после того, как твой модуль отработает, причем конец работы определяет лишь сам модуль - зачем тебе "сдирать кожу", убирая защиту и ставя public? Через полгода ты забудешь, что это делает и будешь думать - о, это чтобы работу прервать резко! И будешь огорчен, когда всё пойдёт не так.

А вообще поставь себе FlashDevelop, там автокомплит прикольный - будешь писать private/public/protected ради автокомплита) Я кстати начинал так писать только из за этого, понимание пришло потом)