Руководство по actionscript. часть 1, стр. 082
Public function VirtualPet (name) { petName = name:
}
Теперь, когда у нас появился метод для изменения значения переменной petName, должны ли мы модифицировать метод-конструктор класса VirtualPet следующим образом?
public function VirtualPet (name) { setName(name):
}
Ответ зависит от имеющихся условий. Вообще говоря, непосредственное обращение к закрытым переменным, описанным в данном классе, является вполне приемлемым. Тем не менее, если существует вероятность, что имя или роль переменной в будущем будут изменены, или если метод-модификатор или метод-получатель выполняют определенные действия при обращении к переменной (например, проверку на наличие ошибок), имеет смысл применять методы везде, даже внутри класса, в котором описана данная переменная. Например, в предыдущем
модифицированном методе-конструкторе класса VirtualPet разумно присваивать значение переменной petName именно через метод setName ( ), поскольку это гарантирует, что указанное имя не окажется слишком длинным или коротким. И все-таки, в тех случаях, когда решающим фактором является быстродействие, благоразумнее использовать непосредственный доступ к переменной (его получить всегда быстрее, чем доступ через метод).
Программисты, предпочитающие использовать стиль непосредственного доступа к переменным, но при этом не желающие отказываться от преимуществ методов-получателей и методов-модификаторов, обычно применяют автоматические get-и set-методы языка ActionScript, рассматриваемые в следующем разделе.
Get — и set-методы
В предыдущем разделе мы познакомились с методами-получателями и методами-модификаторами, которые представляют собой открытые методы для получения и изменения состояния объекта. Некоторые разработчики считают подобные методы громоздкими. Они утверждают, что конструкция:
pet. setName(«Jeff»):
более неудобна в использовании, чем конструкция: pet. name = «Jeff»:
Чуть раньше мы убедились, что непосредственное присваивание значения переменной, например pet. name = «Jeff», не является идеальной практикой объектно-ориентированного программирования и переменной в конечном счете может быть присвоено некорректное значение. Чтобы устранить несогласованность между удобством использования синтаксиса непосредственного присваивания значения переменной и безопасностью методов-получателей и методов-модификаторов, язык ActionScript поддерживает get — и set-методы. Вызвать эти методы можно с помощью синтаксиса получения или присваивания значения переменной.