util.augment
Статическая функция.
Базовая функция, реализующая наследование в JavaScript. Реализует наследование прототипа без исполнения конструктора родителя. К дочернему классу приписывается поле superclass, указывающее на прототип родительского класса.
Returns прототип дочернего класса.
{ Object } util.augment(ChildClass, ParentClass, override)
Параметры:
Параметр | Значение по умолчанию | Описание |
---|---|---|
ChildClass * | — | Тип: Function Дочерний класс. |
ParentClass * | — | Тип: Function Родительский класс. |
override * | — | Тип: Object Набор дополнительных полей и функций, которые будут приписаны к прототипу дочернего класса. |
Параметр | Значение по умолчанию | Описание |
---|---|---|
ChildClass * | — | Тип: Function Дочерний класс. |
ParentClass * | — | Тип: Function Родительский класс. |
override * | — | Тип: Object Набор дополнительных полей и функций, которые будут приписаны к прототипу дочернего класса. |
* Обязательный параметр/опция.
Пример:
// Родительский класс
var ParentClass = function (param1, param2) {
this.param1 = param1;
this.param2 = param2;
};
ParentClass.prototype = {
foo: function () {
alert('Parent!');
}
};
// Дочерний класс
var ChildClass = function (param1, param2, param3) {
// Вызываем конструктор родителя
ChildClass.superclass.constructor.call(this, param1, param2);
this._param3 = param3;
}
// наследуем ChildClass от ParentClass
ymaps.util.augment(ChildClass, ParentClass, {
// переопределяем в наследнике метод foo
foo: function () {
// Вызываем метод родительского класса
ChildClass.superclass.foo.call(this);
alert('Child!');
}
});