Глубокое наследование с помощью JavaScript? - PullRequest
3 голосов
/ 01 июля 2010

Я знаю, что мог бы сделать простое наследование прототипа в JavaScript, как это:

var Parent = function() {
};

var Child = function() {
}

Child.prototype = new Parent();
Child.prototype.constructor = Child;

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

1 Ответ

6 голосов
/ 01 июля 2010

Вы не можете сделать множественное наследование в JavaScript. Вы можете сделать более глубокое наследование, просто пройдя дальше:

var Parent = function() {};
var Child = function() {};
var InnerChild = function() {};

И показать, что это работает:

Parent.prototype.x = 100;
Child.prototype = new Parent();
Child.prototype.y = 200;   
InnerChild.prototype = new Child();
InnerChild.prototype.z = 300;

var ic = new InnerChild();
console.log(ic.x); //prints 100, from Parent
console.log(ic.y); //prints 200, from Child
console.log(ic.z); //prints 300, from InnerChild, who only wants to express itself
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...