
29.11.2014, 08:16
|
 |
Профессор
|
|
Регистрация: 24.09.2013
Сообщений: 1,436
|
|
Сообщение от nerv_
|
Erolast, krutoy,
1. мне надо вызвать конструктор родительского класса - как?
2. мне надо вызвать супер метод - как?
|
Есть три варианта: - В функции extend устанавливать ребенку в свойство ссылку на родителя.
function extend(Child, Parent) {
...
Child.Parent = Parent;
}
- Добираться до родительского класса через .prototype.__proto__ ребенка или __proto__.__proto__ инстанса ребенка. Можно оформить в функцию:
function getParent(Class) {
return Class.prototype.__proto__;
}
- Не париться и использовать ES6, в котором внутри методов класса доступно ключевое слово super, ссылающееся на родительский класс. Лучший вариант, если хочется нормального ООП.
|