Какой рейтинг вас больше интересует?
|
Главная / Каталог блогов / Cтраница блогера Хабрахабр: Web-разработка / Блог / Захабренные / Запись в блоге
Matreshka.js — Наследование2013-10-30 02:58:13 (читать в оригинале)
Приветствую всех читателей и писателей Хабра. В предыдущей статье мы поговорили об основах работы с Матрешкой. В этой, я хочу рассказать, как наследовать Матрешку и как строить пока что небольшие приложения на её базе. Матрешка устроенна в виде класса, сконструтированного при помощи кастомной функции Class . Это немного измененная версия функции, о которой я писал на форуме javascript.ru (ссылка на доку).Так почему классы? Класс — это лишь слово, не противоречащее парадигме прототипного программирования. Если взглянуть на документацию того же Backbone.js, то вы увидите, что и они оперируют словом «класс» без всяких стеснений. Мы можем поспорить о том, что в Javascript нет классов, есть конструкторы, и я с вами соглашусь, но, на деле, имеет ли этот спор смысл? Если конструктор выглядит как класс, плавает как класс, и крякает как класс, то это, наверное, и есть класс? От лирики к делу. Итак, Матрешка создана в виде класса:
Аргумент класса — прототип конструктора, который можно определить так: … который затем и возвращается из функции Class. Если конструктор не определен, то им станет пустая функция.Один класс может быть унаследован от другого класса (в данном случае MyClass наследуется от Матрешки):
(Для 'extends' кавычки нужны не только для того, чтоб избежать ошибки синтаксиса (extends — зарезервированное слово), но и для подсветки синтаксиса. Остальные свойства могут быть без кавычек.)При наследовании Матрешки есть важное правило: конструктор должен быть всегда и в нем должен вызываться метод .initMK , который, в данном случае, инициализирует псевдоприватные свойства: __id (идентификатор экземпляра для внутреннего использования), объект .__events (объект событий) и объект .__special (хранящий значения «специальных» свойств, их акцессоры и привязанные элементы). Это же правило верно и для классов, которые будут объяснены в следующих статьях: MK.Array и MK.Object .Читать дальше →
|
Категория «Художники»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.