Показать сообщение отдельно
Старый 10.12.2003, 12:48
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 9  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
все можно наглядно увидеть прямо в листе переменных...
воспользуемся всем уже известной фишкой:
Код:
deprotect = function (o) {
	ASSetPropFlags(o, null, 8, 7);
	if (typeof (o) == "function") {
		ASSetPropFlags(o.prototype, null, 8, 7);
	} else {
		ASSetPropFlags(o.__proto__, null, 8, 7);
	}
};
теперь пишем:
Код:
//
cavat = function () {
};
cavat.prototype.test = "property of cavat class !";
//
gutta = new cavat();
//
deprotect(Object);
deprotect(gutta);
//
trace(cavat.prototype.__proto__ == Object.prototype);
trace(cavat.__proto__.__proto__ == Object.prototype);
запускаем, жмем Ctrl+Alt+V, и видим:
Код:
Variable _level0.cavat = [function] {
    prototype:[object #3, class 'Object'] {
      constructor:[function],
      __proto__:[object #4] {
        constructor:[function 'Object'] {
          prototype:[object #4]
        },
        watch:[function],
        unwatch:[function],
        addProperty:[function],
        valueOf:[function],
        toString:[function],
        hasOwnProperty:[function],
        isPrototypeOf:[function],
        isPropertyEnumerable:[function],
        toLocaleString:[function 'toLocaleString']
      },
      test:"property of cavat class !"
    }
  }
Variable _level0.gutta = [object #15] {
    __proto__:[object #3, class 'Object'],
    constructor:[function],
    __constructor__:[function]
  }
ну вооот... :)

в общем виде наследование можно организовывать так:
Код:
cls1 = function () {
}
cls2 = function () {
}
cls2.prototype = new cls1()