Параметры и аргументы метода ActionScript 

 

 

Как и в случае с параметрами конструктора, параметр метода — это особый тип 

локальной переменной, представляющий собой часть описания метода, но, в  

отличие от локальных переменных, исходное значение параметра метода может (или 

в некоторых случаях должно) задаваться из внешнего кода. 

Для описания параметра метода применяется следующий обобщенный код  

(обратите внимание, что описание параметров метода имеет такую же структуру, как 

и при описании параметров конструктора): 

function имяМетодд (идентификатор! = значение1. 

идентификатор2 = значение2, 

идентификаторп = значениеп) { 

.} 

В приведенном выше коде идеитификатор! = значение1, идентификатор2 = значе- 

ние2, . . . идентификаторп = значениеп — список имен параметров метода и их 

соответствующих исходных значений. По умолчанию исходным значением  

параметра метода является значение, указанное в описании этого параметра. Тем не 

менее значение параметра метода может быть дополнительно указано в выражении 

вызова, как показано в следующем обобщенном коде: 

имяМетода(значение1, значение2... значениеп) 

В данном коде имяМетода — это имя вызываемого метода, а значение1, значение2. . . 

va luen — это список значений, которые по порядку присваиваются параметрам  

метода имяМетода. Значение параметра метода, указанное через выражение вызова (как 

показано в предыдущем коде), называется аргументом метода. Использование 

аргумента метода для задания значения параметра метода называется передачей 

этого значения в метод. 

Как и в случае с параметрами конструктора, исходное значение параметра метода, 

если его описание не содержит инициализатора переменной, должно быть указано 

через аргумент метода этого параметра. Такой параметр называется обязательным 

параметром метода. 

Следующий обобщенный код демонстрирует описание метода с одним  

обязательным параметром (обратите внимание, что описание параметра не содержит  

инициализатора переменной): 

function имяМетода (обязательныйПараметр) { 

Любой код, вызывающий предыдущий метод, обязательно должен указывать  
значение параметра обязательныйПараметр с помощью аргумента метода, как показано 
в следующем обобщенном коде: 
имяМетода(значение) 
Отсутствие аргумента метода для обязательного параметра неизбежно приведет 
к ошибке либо на этапе компиляции программы (если для компиляции  
программы выбран строгий режим), либо на этапе ее выполнения (если программа была 
откомпилирована в стандартном режиме). 
Теперь обновим описание метода eat ( ) класса VirtualPet, включив обязательный 
параметр numberOfCalories. Вызов метода eat ( ) всякий раз будет обеспечивать 
увеличение значения переменной currentCalories текущего объекта назначение 
параметра numberOfCalories. Привожу обновленный код метода eat ( ): 
package zoo { 
internal class VirtualPet { 
internal var petName; 
private var currentCalories = 1000; 
public function VirtualPet (name) { 
this.petName = name; 
public function eat (numberOfCalories) { 
this.currentCalories += numberOfCalories; 
•} 
Поскольку параметр numberOfCalories является обязательным, его исходное 
значение должно указываться во внешнем коде при вызове метода eat ( ).  
Попробуем реализовать это требование для объекта Vi rtual Pet, создаваемого в  
конструкторе VirtualZoo. До этого момента код конструктора VirtualZoo  
выглядел следующим образом: 
package zoo { 
public class VirtualZoo { 
private var pet; 
public function VirtualZoo ( ) { 
this.pet = new Virtual Pet("Stan"); 
this.pet.eat( ); 
Обновленная версия кода, где в метод eat ( ) передается значение 50, будет  
выглядеть так: 
package zoo { 
public class VirtualZoo { 
private var pet; 
73 
public function VirtualZoo ( ) { 
this.pet = new VirtualPetC\'Stan"): 
this.pet.eatE0): 
Поскольку выражение вызова из данного кода присваивает значение 5 0 параметру 
numberOf Calories метода eat ( ), его выполнение увеличивает значение  
переменной cur rentCalories экземпляра Virtual Pet, на который ссылается  
переменная реt, на 5 0. Это значит, что после выполнения кода конструктора значение 
переменной currentCalories экземпляра, на который ссылается переменная 
pet, будет равно 1050. 




BACK NEXT

Сайт является частным собранием материалов и представляет собой любительский информационно-образовательный ресурс. Вся информация получена из открытых источников. Администрация не претендует на авторство использованных материалов. Все права принадлежат их правообладателям