Руководство по actionscript. часть 1, стр. 079

При вызове связанного метода не нужно указывать объект, над которым должен выполняться данный метод. Вместо этого связанный метод будет автоматически выполнен над объектом, который изначально использовался при создании связи.

Внутри тела связанного метода ключевое слово this ссылается на объект, с которым связан данный метод. Например, внутри тела связанного метода, который был присвоен переменной consume, ключевое слово this ссылается на объект класса VirtualPet с именем «Stan».

Связанные методы используются в тех случаях, когда одна часть программы желает, чтобы другая часть выполнила определенный метод над заданным объектом. Примеры такого сценария можно найти в гл. 12, где рассматривается система обработки событий. Связанные методы нашли широкое применение в системе обработки событий языка ActionScript.

Продолжая тему разговора о методах экземпляра, в следующем разделе рассмотрим использование методов экземпляра для изменения состояния объекта.

Использование методов для получения и изменения состояния объекта

Ранее в этой книге мы узнали, что хорошей практикой объектно-ориентированного программирования является объявление переменных экземпляра с использованием модификатора private. Это значит, что их значения нельзя прочитать или изменить в коде за пределами класса, в котором они объявлены.

Хорошая практика объектно-ориентированного программирования также предписывает следующее: вместо того чтобы предоставлять возможность внешнему коду непосредственно изменять значения переменных экземпляра, мы должны определять методы экземпляра для получения или изменения состояния объекта.

Ранее мы определили переменную экземпляра с именем currentCalories в классе Vi rtual Pet. Концептуально эта переменная описывает степень голода каждого животного. Чтобы внешний код мог изменять степень голода животного, мы можем сделать переменную currentCalories открытой. В этом случае внешний код будет присваивать переменной, описывающей степень голода, любое произвольное значение, как показано в следующем коде:

somePet. currentCalories = 5000:

Тем не менее предыдущий подход обладает серьезным недостатком. Если внешний код сможет непосредственно изменять значение переменной currentCalories, то у класса VirtualPet не будет никакой возможности убедиться, что значение, присваиваемое переменной, является допустимым, или осмысленным. Например, внешний код может присвоить переменной currentCalories значение 1 ООО ООО, позволив животному жить сотни лет, не испытывая голода. Или, если внешний код присвоит переменной currentCalories отрицательное значение, может произойти сбой программы.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.132
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.58
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 094
  • 28.02.2011">Руководство по actionscript. часть 5, стр. 140
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.32
  • 03.02.2010">Создание графиков и диаграмм на JavaScript
  • 15.01.2011">Зачем используется раскройка изображения в Photoshop и как ее сделать?
  • 13.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.86
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.55
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.156
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 153
  • 14.03.2011">Руководство по actionscript. часть 3, стр. 068
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 097
  • 27.08.2010">Атрибуты .
  • 01.01.2010">14 бесплатных шрифтов в стиле Web 2.0
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...