Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.02.2012, 17:26
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 1  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
По умолчанию get и set - зачем они нужны?

Зачем нужны get и set?
Что они упрощают?
Чем помогают?

Старый 17.02.2012, 17:31
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Всего лишь представляют методы в качестве полей экземпляра и/или класса.
Только удобство, потому что в банальный сеттер name можно запихать еще диспатч события. А выглядеть оно будет как обычное свойство.
__________________
тут я

Старый 17.02.2012, 17:32
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 3  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Цитата:
Всего лишь представляют методы в качестве полей экземпляра и/или класса.
Только удобство, потому что в банальный сеттер name можно запихать еще диспатч события. А выглядеть оно будет как обычное свойство.
Спасибо большое

Старый 17.02.2012, 18:03
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 4  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
Цитата:
Всего лишь представляют методы в качестве полей экземпляра и/или класса.
Только удобство, потому что в банальный сеттер name можно запихать еще диспатч события. А выглядеть оно будет как обычное свойство.
+ дает возможность делать only read|write свойства, а также можно использовать в интерфейсах
__________________
местонахождение

Старый 17.02.2012, 18:14
MikroAcse вне форума Посмотреть профиль Отправить личное сообщение для MikroAcse Найти все сообщения от MikroAcse
  № 5  
Ответить с цитированием
MikroAcse
 
Аватар для MikroAcse

Регистрация: Feb 2012
Сообщений: 1,540
Цитата:
дает возможность делать only read|write свойства
Не откроете секрет?

Старый 17.02.2012, 18:24
bav вне форума Посмотреть профиль Отправить личное сообщение для bav Найти все сообщения от bav
  № 6  
Ответить с цитированием
bav
 
Аватар для bav

Регистрация: Oct 2010
Сообщений: 1,049
Отправить сообщение для bav с помощью ICQ
private var + get method = read only
private var + set method = write only

Старый 17.02.2012, 18:47
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
А, разграничение доступа забыл указать, да.
Ну и в интерфейсах: описывать либо необходимую структуру класса, либо для защиты "от дурака" — чтобы случайно не изменить то, чего не надо. Например можно использовать в MVC. Можно — не значит, что так нужно делать железно.
__________________
тут я

Старый 17.02.2012, 21:35
expl вне форума Посмотреть профиль Отправить личное сообщение для expl Найти все сообщения от expl
  № 8  
Ответить с цитированием
expl

блогер
Регистрация: Feb 2006
Сообщений: 1,474
Записей в блоге: 3
get и set - это чисто синтаксический сахар для геттеров и сеттеров, чтобы () не писать при доступе. В Java их нет - никто особо не обламывается, пишут getValue():TypeOfValue и setValue(value:TypeOfValue):void.

Еще по мимо сахара - если ты создал открытое поле value, а потом решил сделать его геттерами/сеттерами - тебе не надо как в Java ползать по всему коду, где это поле используется и добавлять скобочки вместе с приставками get или set - доступ что к геттеру/сеттеру, что к открытому полю - одинаковый.

А вот ситуаций, когда нужно лепить геттеры/сеттеры, хотя, вроде бы, можно обратится к полю напрямую - выше крыши, можно описывать долго:
- создание полей "только чтение";
- дополнительные проверки правильности значения в сеттере;
- обновление значений в сеттере;
- вычисление значения сразу в геттере (без хранения в поле);
- вычисление параметров (валидации) в геттере только при наличии невалидных данных (при реализации механизма валидации для экономии ресурсов), а в сеттере только флаги "невалидно" выставлять;
- всяческие обертки:
Код AS3:
public function get value():int
{
    return _implementor.value;
}
public function set value(value:int):void
{
    _implementor.value = value;
}
- в интерфейсах нет возможности описывать поля - только функции
и т.д. и т.п.


Последний раз редактировалось expl; 17.02.2012 в 22:08.
Создать новую тему Ответ Часовой пояс GMT +4, время: 22:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 22:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.