Руководство по actionscript. часть 2, стр. 008

Интерфейсы-маркеры

Чтобы быть полезными, интерфейсы могут вообще не содержать никаких методов. Иногда пустые интерфейсы, называемые интерфейсами-маркерами, применяются для «отметки» (обозначения) класса, обладающего некоторой возможностью. Требования, предъявляемые к отмеченным классам (классам, реализующим интерфейс-маркер), описываются в документации по каждому конкретному интерфейсу-маркеру. Например, API среды выполнения Flash включает интерфейс-маркер IBitmapDrawable, обозначающий класс, который может быть отображен объектом BitmapData. Класс BitmapData будет отображать только те классы, которые реализуют интерфейс IBitmapDrawable (хотя на самом деле этот интерфейс не определяет никаких методов). Интерфейс IBitmapDrawable используется просто для того, чтобы «показать», что данный класс пригоден для работы с растровым изображением. Вот исходный код интерфейса IBitmapDrawable:

package flash. display { interface IBitmapDrawable { }

}

Другой пример использования составных типов

Как уже известно из предыдущего примера с протоколирующим классом, класс может не только наследоваться от другого класса, но и реализовывать интерфейс. Экземпляры подкласса одновременно принадлежат типу данных суперкласса и типу данных интерфейса. Например, экземпляры класса LogUI из рассмотренного примера принадлежали типам данных Sprite и LogRecipient, поскольку класс LogUI был унаследован от класса Sprite и реализовывал интерфейс LogRecipient. Рассмотрим эту важную архитектурную структуру на новом примере.

**4

Для понимания материала, изложенного в этом разделе, требуется предварительное знание массивов (упорядоченных списков значений), которые еще не рассматривались Эа1 в этой книге. Если вы незнакомы с массивами, то пока пропустите этот раздел и вернитесь к нему после изучения гл. 11.

Предположим, мы создаем приложение, которое сохраняет объекты на сервере с помощью серверного сценария. Класс каждого сохраняемого объекта обязан предоставить метод serialize ( ), возвращающий строковое представление экземпляров данного класса. Строковое представление используется для воссоздания определенного объекта с нуля.

Одним из классов нашего приложения является простой класс Rectangle с переменными экземпляра width, height, fillColor и lineColor. Для представления объектов Rectangle в виде строк класс Rectangle реализует метод serialize( ), который возвращает строку следующего формата:

«wi <№\=значение | hei ф^значение | f i 11 col ог=значение \ 1 i necol ог=значение"

Чтобы сохранить объект Rectangle на сервере, мы вызываем метод serialize ( ) над данным объектом и передаем полученную строку в наш серверный сценарий. В дальнейшем мы сможем получить эту строку и создать новый экземпляр класса Rectangle, размеры и цвет которого будут соответствовать значениям исходного экземпляра.

Для упрощения данного примера мы будем полагать, что каждый сохраняемый объект в приложении должен сохранять только имена переменных и их значения. Мы также будем полагать, что никакие значения переменных сами по себе не являются объектами, для которых требуется сериализация (то есть преобразован в строку).

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.42
  • 12.07.2011">На базе WordPress уже более чем 50 миллионов сайтов
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.12
  • 04.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.5
  • 09.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.160
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 011
  • 30.05.2013">В течение недели LG продемонстрирует гибкую панель OLED в 5 дюймов
  • 11.03.2011">Руководство по actionscript. часть 4, стр. 012
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.5
  • 17.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.127
  • 02.03.2010">Новый вид ретвитов (retweet) в твиттере
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 133
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 043
  • 22.03.2011">Руководство по actionscript. часть 2, стр. 015
  • 29.10.2011">Мозаичный текст
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...