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

Теперь перейдем к рассмотрению следующего вопроса, касающегося методов экземпляра, — связанных методов.

Связанные методы

В языке ActionScript сам метод может рассматриваться как значение. Другими словами, метод может быть присвоен переменной, передан в функцию или другой метод, а также возвращен из функции или другого метода.

Например, в следующем коде создается новый объект класса VirtualPet, после чего локальной переменной consume присваивается метод eat ( ) созданного объекта. Обратите внимание, что в операторе присваивания после имени метода не ставятся круглые скобки ( ) вызова метода. В результате переменной с о n s ume присваивается сам метод, а не его возвращаемое значение.

package zoo { public class VirtualZoo { private var pet:

public function VirtualZoo ( ) { pet = new VirtualPet(«Stan»): // Присваивание переменной метода eat( ) var consume = pet. eat;

}

Метод, присвоенный переменной, может быть вызван через эту переменную стандартным оператором круглых скобок — ( ). Например, в следующем коде вызывается метод, на который ссылается переменная consume:

package zoo { public class VirtualZoo { private var pet:

public function VirtualZoo ( ) { pet = new VirtualPet(«Stan»):

// Присваивание связанного метода переменной consume var consume = pet. eat:

// Вызов метода, на который ссылается переменная consume consume(300);

}

}

}

При выполнении предыдущего кода, выделенного полужирным шрифтом, вызывается метод еа t ( ), в качестве аргумента которого передается значение 300. Вопрос заключается в том, какое животное принимает пищу? Или, говоря техническим языком, над каким объектом выполняется этот метод?

Когда метод присваивается переменной и затем вызывается через нее, код выполняется над тем объектом, который изначально использовался для обращения к методу. Например, в предыдущем коде, когда метод eat ( ) присваивается переменной consume, обращение к методу происходит через объект класса VirtualPet с именем 11 Stan11. Таким образом, при вызове метода eat ( ) через переменную consume код будет выполняться над объектом класса VirtualPet с именем «Stan».

Метод, который присваивается переменной, передается в функцию или другой метод либо возвращается из функции или другого метода, называется связанным методом. Свое название связанные методы получили потому, что каждый такой метод навсегда связывается с объектом, через который изначально происходит обращение к методу. Связанные методы являются экземплярами собственного класса Function.

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

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

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

Полезные ссылки
Случайные записи
  • 20.01.2010">Векторные файлы и графика
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 134
  • 19.03.2011">Руководство по actionscript. часть 2, стр. 101
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 093
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.127
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.67
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.29
  • 23.01.2011">Руководство по actionscript. часть 1, стр. 027
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.75
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.55
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.100
  • 18.03.2011">Руководство по actionscript. часть 2, стр. 131
  • 19.11.2011">Обзор HTC Radar
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 060
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 007
Опрос

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

View Results

Loading ... Loading ...