|
Главная » 2015 » Январь » 23
В объектно-ориентированном программировании наследование обозначает формальное отношение между двумя и более классами, при котором один заимствует (или наследует) описания переменных и методов другого класса. Наследование позволяет использовать код одного класса в другом классе. Для создания отношений наследования между классами используется ключевое слово extends. Каждый суперкласс может иметь любое количество подклассов. А подкласс не может иметь более одного непосредственного суперкласса. Статические методы и статические переменные не наследуются.
|
Рекурсивная функция – это функция, вызывающая саму себя. Вычисление факториала с помощью рекурсии:
function factorial(n)
{
if(n<0)
{
return;
}
else if(n<=1)
{
return 1;
}
else
{
return n*factorial(n-1);
}
}
|
Экземпляры класса Function, как и многих предопределенных классов в ActionScript, можно создать с помощью синтаксиса литералов. Он практически ничем не отличается от синтаксиса стандартного объявления функций, за исключением отсутствующего имени функции. Чтобы воспользоваться такой функцией за пределами выражения, в котором встречается данный литерал, мы можем присвоить эту функцию переменной. После этого вызвать функцию можно через эту переменную.
|
Функция может быть присвоена переменной, передана в функцию или возвращена из нее точно так же, как и любое другое значение.
function a()
{
}
var b=a;
Функция a() описывается в приведенном выше коде, после чего она присваивается переменной b. Оператор круглых скобок опущен, в противном случае переменной b было бы присвоено возвращаемое значение функции a(). Как только функция присвоена переменной, ее можно вызвать через эту переменную с помощью стандартного оператора круглых скобок ().
b();
Функции-значения обычно используют при создании динамических классов и объектов.
|
Внутри замыкания функции ключевое слово this всегда ссылается на глобальный объект, независимо от места определения этой функции. Чтобы обратиться к текущему объекту внутри вложенной функции в методе экземпляра, присвойте ключевое слово this переменной.
|
Если описание функции размещается на верхнем уровне исходного файла за пределами тела пакета, то будет создана функция, доступная только внутри данного исходного файла. Модификаторы управления доступом не должны применяться при описании функций уровня исходного файла.
|
Когда описание функции размещается внутри метода или другой функции, создается вложенная функция, которая доступна для использования только внутри содержащего ее метода или функции. Вложенная функция может вызываться в любом месте содержащего ее метода, даже до описания этой функции. Обращение к переменной или функции до того, как эта переменная или функция будут описаны, называется опережающим обращением. Для вложенных функций невозможно использовать модификаторы управления доступом.
|
Функции, определенные на уровне пакета и размещаемые внутри пакета без имени, называются глобальными, поскольку обращаться к ним можно глобально, из любой точки программы без необходимости использования оператора import. Многие функции уровня пакета и глобальные функции являются собственными для каждой отдельно взятой среды выполнения Flash. Наиболее используемой глобальной функцией является функция trace().
|
|
|