LINUX.ORG.RU

JS: наследование


0

0

Имеется несколько классов-наследников одного базового класса либо его производных.

function BaseClass (data) {
    // constructor
}

. . .

function Class1 (data) {
    // constructor
}
Class1.prototype = new BaseClass();

. . .

function Class2 (data) {
    // constructor
}
Class2.prototype = new BaseClass();

. . .

function Class3 (data) {
    // constructor
}
Class3.prototype = new Class1();

Каким образом можно наследовать так, чтобы конструктор тоже наследовался, и его не приходилось копипастить отдельно для каждого класса?

Перемещено anonymous_incognito из Talks

★★★

Не делать из жабоскрипта цепепе.

Miguel ★★★★★
()

посмотри на dojo.declare

wfrr ★★☆
()

function BaseClass (data) {
    // constructor
}

. . .

function Class1 (data) {
    BaseClass(this);
}
Class1.prototype = new BaseClass();

Оно, не? Я сам чайник в этом деле.

Или как-то так:
function initMethods(o)
{
...
}
function initFields(o)
{
...
}

function BaseClass (data) {
    initFields(this);
    initMethods(this);
}

. . .

function Class1 (data) {
    initFields(this);
    ...
}
Class1.prototype = new BaseClass();

Как такой подход?

one-time-account
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.