Skip to content
Grigoriev Oleg edited this page Mar 24, 2013 · 2 revisions

go.Lang.inherit(): простое наследование конструкторов

inherit(Constr, Parent [, extend])

Делает Constr наследником Parent.

  • Constr {Function} - функция-конструктор нового "класса". Не указана - используется функция, которая ничего не делает.
  • Parent {Function} - функция-конструктор родительского "класса". Не указана - Object.
  • extend {Dict} - свойства и методы, расширяющие новый "класс".
function OneClass() {}

function TwoClass(name) {
    this.name = name;
}

TwoClass = go.Lang.inherit(TwoClass, OneClass);

TwoClass является расширением OneClass.

var instance = new TwoClass("name");
instance instanceof TwoClass; // true
instance instanceof OneClass; // true
instance.name === "name"; // true

Расширение новыми полями:

TwoClass = go.Lang.inherit(TwoClass, OneClass, {

    'getName': function () {
        return this.name;
    },
    
    'alertName': function () {
        alert(this.getName());
    }
    
});

var instance = new TwoClass("name");
instance.alertName();
Clone this wiki locally