Основной шаблон создания класса

Функция dojo.declare является основным способом создания классов, который важно понимать, потому что библиотека Dijit полагается на него при разработке гибкого шаблона, который эффективно автоматизирует решение различных задач, связанных с созданием виджетов.

Хотя эта глава практически полностью посвящена изучению функции constructor, потому что это, вне всяких сомнений, самый используемый метод, тем не менее следующий пример показывает, что есть еще две функции, предоставляемые функцией dojo.declare: preamble, которая объявляется перед функцией constructor, и postscript, которая объявляется после нее:
preamble(/*Object*/ params, /*DOMNode*/node)
//предшествует функции constructor
constructor(/*Object*/ params, /*DOMNode*/node)
// вызывает функции constructor всех суперклассов
// вызывает функции constructor всех подмешанных классов
// вызывает функцию constructor локального класса, если имеется
postscript(/*Object*/ params, /*DOMNode*/node)
// чаще всего начинает создание виджета

Для проверки можете попробовать выполнить программный код, представленный в примере 10.6.
Пример 10.6. Основной способ создания класса с помощью dojo.declare
dojo.addOnLoad(function() {
dojo.declare("Foo", null, {
preamble: function() {
console.log("preamble", arguments);
},
constructor : function() {
console.log("constructor", arguments);
},
postscript : function() {
console.log("postscript", arguments);
}
});
var foo = new Foo(100); //последовательно будут вызваны preamble,
//constructor и postscript
});

Функция constructor – это место, где выполняется большая часть операций, связанных с моделированием класса, однако функциям preamble и postscript также находится применение.


Функция preamble в основном используется для манипулирования аргументами суперкласса. Аргументы, которые передаются функции constructor, в данном случае – new Foo(100), последовательно передаются функциям preamble, constructor и postscript, но такое положение вещей не является обязательным, когда имеется иерархия наследования. Мы еще вернемся к этой теме во врезке «Упреждающее манипулирование аргументами» ниже в этой главе, после того как будет дано формальное определение наследования в следующем разделе. Функция postscript используется главным образом при создании виджетов.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Dojo на эту тему:
JavaScript – это не Java
Вызов унаследованных методов
Имитация классов с использованием средств Dojo
Множественное наследование посредством смешивания классов
Наследование в JavaScript