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

}

}

Возвращаясь к классу Logger, мы определим метод addRecipient ( ), который выполняет регистрацию объекта, желающего получать журнальные сообщения. Базовое описание метода addRecipient ( ) представлено ниже. Обратите внимание, что в метод addRecipient ( ) могут передаваться только экземпляры класса LogRecipient и его подклассов:

public class Logger { public function addRecipient (1r:LogRecipient):Boolean { // Размещаемый здесь код должен выполнять регистрацию объекта 1г // для получения статусных сообщений и возвращать значение типа Boolean. // которое отражает результат выполненной операции (код не показан).

}

}

Если передаваемый в метод addRecipient ( ) объект не принадлежит типу LogRecipient, компилятор сгенерирует ошибку несоответствия типов. Если этот объект является экземпляром подкласса класса LogRecipient, в котором не реализован метод update ( ), то по крайней мере будет выполнена базовая версия метода update ( ) (определенная в классе LogRecipient).

Приемлемый вариант, не правда ли? Почти. Однако есть проблема. Что делать в том случае, если класс, желающий получать события от класса LogRecipient,

уже расширяет другой класс? Например, предположим, что класс LogUI расширяет класс flash. display. Sprite:

public class LogUI extends Sprite { public function update (msg:String):void { // Отображение статусного сообщения на экране, код не показан…

}

}

В языке ActionScript класс не может расширять несколько классов. Класс LogUI уже расширяет класс Sprite, поэтому он не может расширять еще и класс LogRecipient. Следовательно, экземпляры класса LogUI не могут регистрироваться в классе Logger, чтобы получать от него статусные сообщения. В данной ситуации нам крайне необходим способ, позволяющий указать, что на самом деле экземпляры класса LogUI принадлежат двум типам данных: LogUI и LogRecipient.

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

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

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

Полезные ссылки
Случайные записи
  • 23.05.2012">Machinima привлекла инвестиций на $35 миллионов благодаря Google
  • 19.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.3
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.94
  • 02.03.2011">Руководство по actionscript. часть 5, стр. 098
  • 15.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.58
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.114
  • 23.08.2011">ACER Ferrari ONE 200
  • 09.03.2011">Руководство по actionscript. часть 4, стр. 051
  • 24.02.2011">Руководство по actionscript. часть 6, стр. 106
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.45
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.20
  • 03.03.2011">Руководство по actionscript. часть 5, стр. 060
  • 15.03.2011">Руководство по actionscript. часть 3, стр. 051
  • 10.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.54
  • 02.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.122
Опрос

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

View Results

Loading ... Loading ...