Показать сообщение отдельно
Старый 29.10.2003, 18:16
Techmaker вне форума Посмотреть профиль Отправить личное сообщение для Techmaker Найти все сообщения от Techmaker
  № 4  
Techmaker
"человек"
 
Аватар для Techmaker

Регистрация: Nov 2002
Адрес: +-
Сообщений: 1,807
Сразу говорю, я только что со школы, так что думать сильно не могу

1.
Код:
function SuperClass() {
	trace("SuperClass constructor called");
	this.__proto__.f1 = function() {
		trace("f1 called");
	};
	this.f2 = function() {
		trace("f2 called");
	};
}
function SubClass() {
	trace("SubClass constructor called"); 
}
SuperClass.prototype.__proto__.f3 = function() {
	trace("f3 called");
};
SubClass.prototype.__constructor__ = SuperClass;
SubClass=SuperClass; 
obj = new SuperClass();
trace("---------------");
obj.f1();
obj.f2();
obj.f3();
trace("******************************");
obj2=new SubClass();
trace("---------------");
obj2.f1();
obj2.f2();
obj2.f3();
2.
f1 - метод способен добавлятся к другим классам таким образом: SubClass.prototype.__proto__=SuperClass.prototype
f2 - просто метод который спецефически принадлежит только этому "SuperClass'у" , не способен добавлятся к другим классам
f3 - метод добавляется, и может быть запущен, всеми созданными классами, всё обосновывается одним лишним "__proto__"

3.
SubClass.prototype.__constructor__ = SuperClass;
к чему бы это? хмм... наверное к тому что ты прицепил это __proto__
вот сюда:
Цитата:
Оригинал написал(а) Sergey"iLoveYou"
Код:
SuperClass.prototype.__proto__.f3 = function() {
	trace("f3 called");
};
__________________
flash it


Последний раз редактировалось Techmaker; 29.10.2003 в 18:24.