В большей части обучающей литературы приводятся примеры довольно далекие от практического применения, из которых не совсем ясна необходимость
использования интерфейсов.
например в книге : ActionScript 3.0 Design Patterns "William B. Sanders and Chandima Cumaranatunge"
приводится пример :
file : IVid.as

Код AS3:
package
{
import flash.display.DisplayObject;
public interface IVid
{
function playVid(flv:String):void;
function get displayObject():DisplayObject;
}
}
file : VidPlayer.as

Код AS3:
package
{
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.media.Video;
import flash.display.Sprite;
import flash.display.DisplayObject;
public class VidPlayer extends Sprite implements IVid
{
private var ns:NetStream;
private var vid:Video;
private var nc:NetConnection;
public function get displayObject( ):DisplayObject
{
return this;
}
public function playVid(flv:String):void
{
nc=new NetConnection( );
nc.connect(null);
ns=new NetStream(nc);
ns.play(flv);
vid=new Video( );
vid.attachNetStream(ns);
addChild(vid);
}
}
}
file : DoVid.as

Код AS3:
package
{
import flash.display.Sprite;
public class DoVid extends Sprite
{
//Type as Interface
private var showTime:IVid;
public function DoVid( )
{
//Play the video
showTime=new VidPlayer( );
showTime.playVid("iVid.flv");
//Include DisplayObject instance
addChild(showTime.displayObject);
showTime.displayObject.x=100;
showTime.displayObject.y=50;
}
}
}
В чем смысл создания интерфейса, если можно обойтись без него ?

Код AS3:
var showTime:VidPlayer =new VidPlayer( );
Хотелось бы увидеть примеры с реальной необходимостью добавления интерфейсов?