util.augment
Статическая функция.
Базовая функция, реализующая наследование в JavaScript. Реализует наследование прототипа без исполнения конструктора родителя. К дочернему классу добавляется поле 'superclass', указывающее на прототип родительского класса, и поле 'constructor', которое указывает на конструктор класса. Через поле 'constructor' объекта 'superclass' можно обратится к конструктору родительского класса.
Возвращает прототип дочернего класса.
{ Object } util.augment(ChildClass, ParentClass, override)
Параметры:
Параметр |
Значение по умолчанию |
Описание |
— |
Тип: Function Дочерний класс. |
|
— |
Тип: Function Родительский класс. |
|
— |
Тип: 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 from ParentClass.
ymaps.util.augment(ChildClass, ParentClass, {
// Переопределяем у наследника метод "foo".
foo: function () {
// Вызываем метод родительского класса.
ChildClass.superclass.foo.call(this);
alert('Child!'); }});
Обязательный параметр.