Показать сообщение отдельно
Старый 26.08.2013, 16:29   #3
Черный крыс
 
Сообщений: n/a
Ответ: Классическое наследование (OOP)

Как сказал мока нужно вызвать конструктор предка. Более удобный вариант :

// Вспомогательная функция
function extend(Child, Parent)
{
    var 
F = function() { };
    
F.prototype = Parent.prototype;
    
Child.prototype = new F();
    
Child.prototype.constructor = Child;
    
Child.superclass = Parent.prototype;
}
            
function 
P()
{
    
this.m = []; // инициализация поля класса
}
            
function 
C()
{
    
C.superclass.constructor.call(this)
}
extend(C, P);
            
var 
a = new C(), b = new C();
            
alert(a.m == b.m); 

Последний раз редактировалось Черный крыс, 26.08.2013 в 17:33.
 
Ответить с цитированием