Конструкторы

Конструкторы определяют метод и логику создания нового объекта. Для этого используется секция constructor:

Ext.define('Classes.Person', {
			name: 'Eugene',
			surname : 'Popov',
    // конструктор объекта
    constructor: function(name, surname) {
        if (name && surname) {
            this.name = name;
			this.surname = surname;
        }
    },
    getinfo: function() 
	{
		alert("Полное имя : " + this.name + " " + this.surname);
    }
});

В данном случае конструктор представляет безымянную функцию, которая принимает два параметра - имя и фамилию. Функция проверяет, определены ли значения для параметров, и если определены - передает их в качестве значений свойств для нового объекта.

Затем мы можем использовать конструктор для создания нового объекта с помощью функции Ext.create или выражения new, в которые передаем значения:

// в данном случае в конструктор передаются значения null
// значения передаются после имени класса
// поэтому здесь будут выведены значения по умолчанию
var eugene = Ext.create('Classes.Person');
eugene.getinfo();
// передаем в конструктор значения 'Anders' и 'Heilsberg'
eugene = Ext.create('Classes.Person', 'Anders', 'Heilsberg');
eugene.getinfo();
// передаем в конструктор значения 'Bill' и 'Gates'
eugene = new Classes.Person ('Bill', 'Gates');
eugene.getinfo();

Создание объекта с помощью Ext.create и с помощью слова new данном случае эквивалентны. Если в функции Ext.create мы не передаем значения, кроме имени класса, тогда используются значения по умолчанию.

    Поддержать сайт на родительском проекте КГБ