Особые методы
Наш метод extends автоматически помещает слой между Object.prototype и самым верхним уровнем класса. Но зачем? Видите ли, судя по имени, customMethods, это и есть самое подходящее место для хранения особой функциональности. Теперь о том, что же это такое и с чем его есть... Эта группа методов доступна всем классам и экземплярам, которые используют систему, доступна без вашего дополнительного участия (вам самим не нужно вставлять их).
Кроме того, это место также подходит для инструментов отладки или для расширений к ActionScript. Что бы это ни было, достаточно вставить это в customMethod.prototype и оно станет доступным. Отметьте, что когда вы помещаете сюда объекты, это не вносит никакой дополнительной путаницы в действия Object.prototype. Эти методы (или свойства, если угодно) будут доступны только для классов и экземпляров в вашей системе и не будут доступны никаким другим типам объектов. И ещё, у метода класса нет конструктора (потому, что если бы он у него был, то метод бы просто не работал), так что он сам не может устанавливать значения в экземплярах. Он предназначен только для наследования.
Вот здесь вы найдёте пример особого метода, который отслеживает содержание каждого уровня (в объекте). Он может быть вызван из любого экземпляра следующим выражением: xxx.traceObject(). Теперь можете попытаться создать свой собственный экземпляр. Для этого используйте следующий синтаксис:
Object.customObject.prototype.xxx = function(){ }
Попробуйте!
<<
ООП во Flash 5 >>