-
Notifications
You must be signed in to change notification settings - Fork 1
Class create
Grigoriev Oleg edited this page Mar 25, 2013
·
3 revisions
go.Class([parents, ] props)
go.Class([parent, ] props)
go.Class(props)
-
parents
{mixed} - родительский класс или список родительских классов. Необязательный параметр. Подробности в разделе "наследование". -
props
{Dict} - набор свойств и методов класса. -
:return
{Function} - объект класса (на самом деле функция-конструктор).
var ExampleClass = go.Class({
'setValue': function (value) {
this.value = value;
},
'getValue': function (value) {
return this.value;
}
});
var instanceOne = new ExampleClass();
var instanceTwo = new ExampleClass();
instanceOne.setValue("one");
instanceTwo.setValue("two");
instanceOne.getValue(); // one
instanceTwo.getValue(); // two
В примере создаётся класс ExampleClass
с двумя методами.
Два его экземпляра instanceOne
и instanceTwo
обладают общим поведением, но каждый из них работает со своими данными.
ExampleClass
является обычной функцией-конструктором, а экземпляры разделяют общий прототип.
Работает instanceof
:
instanceOne instanceof ExampleClass; // true
instanceTwo instanceof ExampleClass; // true
Так же сохраняется цепочка constructor.prototype
хотя go.Class
предоставляет свои способы доступа к предкам.