Показать сообщение отдельно
Старый 30.08.2010, 21:05
SunShadow вне форума Посмотреть профиль Отправить личное сообщение для SunShadow Найти все сообщения от SunShadow
  № 10  
Ответить с цитированием
SunShadow
 
Аватар для SunShadow

Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
Интерфейсы удобная штука в том плане, что позволяют вам задать отличительные признаки некоторого объекта, и чтобы объект мог реализовать этот интерфейс он должен реализовать все эти признаки(то бишь свойства и методы). Сами интерфейсы вы можете использовать как обычные переменные-объекты, обладающие указанными в интерфейсе признаками. И далее по тексту программы вы можете использовать такую переменную для работы как обычный объект.
например IMyIFace описывает что объект должен содержать методы
Код AS3:
function start(num:int):void;
function end():Boolean;
function get time():int;
тогда в некой функции мы можем сделать так
Код AS3:
private function (obj:Object):void {
  var needObj:IMyIFace = obj as IMyIFace;
  if (needObj){
    needObj.start(1250);
    trace ('Время ' + needObj.time);
  }
}
Иногда интерфейсы используют просто как маркеры, в таком случае они не описывают никаких свойств, а просто помечают объект что он принадлежит к некоему семейству. И в коде по маркеру-интерфейсу вы можете выделять необходимые объекты легко сравнивая их например так
Код AS3:
if (obj is IMyMarkerIface) {
  trace('ура это он');
}
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ