Вообще, объектно-ориентированное программирование (ООП) сродни вызыванию духов. Всё тот же полупритушенный свет, множество (или наоборот, двое-трое) зрителей и во главе стола - медиум. Вот он садится, кладёт руки на хрустальный шар и призывает духа войти в него... Проходят долгие милисекунды ожидания, наконец медиум открывает глаза - они уже неуловимо изменились - и начинает не своим голосом отдавать команды. Так вот, этот дух и есть программист.

А что он видит? А это зависит от версии AS (action sсript), в которую его вызвали. А чё сразу AS?

Например, в AS2 объекты создают крепкие семьи. Начинается это так.

Допустим, у нас есть некий мувиклип (MovieClip), назовём его Сёкл (Circle - окружность):
var Circle = new MovieClip();

И пусть программист, вселившийся в этот Сёкл даст команду: "сделай в себе ещё один мувиклип, и пусть звать его будут Ректангл" (ну, типа, нарисуй в окружности прямоугольник - Rectangle):
Circle.createEmptyMovieClip('Rectangle', Circle.getNextHighestDepth());

Вот и появляется новый объект и обращаться к нему нужно по имени-отчеству, мол уважаемый Ректангл Сёклович (или Ректангл ибн Сёкл, или Rectangle Circle):
Circle.Rectangle._x = 10;
Circle.Rectangle._y = 20;

В этих двух командах мы поместили Ректангла Сёкловича в координаты (10, 20). Но не суть. А как сам Ректангл обращается к Сёкл? Готовьте носовой платок, потому что Ректангл называет Сёкл словом "родитель" (parent)
Rectangle.newCoord = function()
{
this._parent._x = 100;
this._parent._y = 200;
}
//Это аналогично Circle._x = 100; Circle._y = 200;

Вот такие тесные семейные отношения в AS2.

В AS3 всё много жесче. Семьи в этом родственном понимании нет. Есть ячейка общества. Так, Сёкл уже не "рожает" мувиклип, а принимает его со стороны:
Cicle.addChild('Rectangle');

Знающие английский сразу видят в Ректангле не взрослого самостоятельного мувиклипа, а ребёнка (child). То есть, живёт себе Сёкл, живёт. Тут приходит дух программиста, приводит за руку Ректангла, передаёт его Сёклу и говорит: "Держи, воспитывай". В общем, несчастный приёмный ребенок. Озадаченный приёмный родитель.

А потом приводят к нему ещё одного ребёнка, ещё, и ещё... В итоге, Сёкл становится не матерью-отцом-героиней, а директором детского дома.

Кстати, как теперь обращаться к Ректанглу? По имени-отчеству? Нет, ведь у него нет отчества. Надо теперь прийти к Сёклу, спросить, живёт ли у него ещё Ректангл и если живёт, то позвать его:
var target = Circle.getChildByName('Rectangle');

И дальше работа идёт с этим target. Никакого имени. Никакого отчества. Только кличка-должность-номер.
target.x = 10;
target.y = 20;

Но самое умильное, как Ретангл называет своего приёмного воспитателя... Он называет его "родитель".

@темы: Художественное, Рабочее

Комментарии
27.01.2011 в 00:35

Я растроган.:(
28.01.2011 в 12:52

iTT :friend:

Пара отзывов с работы:
1. :lol: "Надо организовать семейную консультацию для объектов класса AS2"
2. :lol: :lol: :lol: :lol: трогательная несправедливось AS3. а вообще - вот кому нужно писать учебники по AS для блондинок - Оле, конечно!

Расширенная форма

Редактировать

Подписаться на новые комментарии
Получать уведомления о новых комментариях на E-mail