ActionScript 3.0 Design Patterns

(Chris Devlin) #1
Favor Composition | 55

Example 1-51. RecordMedia.as


package
{
//Interface for recording media
interface RecordMedia
{
function recordNow( ):void;
}
}


Example 1-52. RecordVideo.as


package
{
//Concrete RecordMedia: Video
class RecordVideo implements RecordMedia
{
public function recordNow( ):void
{
trace("I'm recording this tornado live! Holy....crackle, crackle\n");
}
}
}


Example 1-53. RecordAudio.as


package
{
//Concrete RecordMedia: Audio
class RecordAudio implements RecordMedia
{
public function recordNow( ):void
{
trace("Rats! I can't record MP3 by itself.\n");
}
}
}


Example 1-54. TestMedia.as


package
{
import flash.display.Sprite;


public class TestMedia extends Sprite
{
public function TestMedia( )
{
var delVideo:Media=new VideoFlash( );
delVideo.doPlayMedia( );
delVideo.doRecordMedia( );

Free download pdf