54 | Chapter 1: Object-Oriented Programming, Design Patterns, and ActionScript 3.0
public function Mp3( )
{
//Inherits composition references from superclass
playMedia = new PlayAudio( );
recordMedia = new RecordAudio( );
}
}
}
Example 1-48. PlayMedia.as
package
{
//Interface for playing media
interface PlayMedia
{
function playNow( ):void;
}
}
Example 1-49. PlayVideo.as
package
{
//Concrete PlayMedia: Video
class PlayVideo implements PlayMedia
{
public function playNow( ):void
{
trace("Playing my video. Look at that!");
}
}
}
Example 1-50. PlayAudio.as
package
{
//Concrete PlayMedia: Audio
class PlayAudio implements PlayMedia
{
public function playNow( ):void
{
trace("My MP3 is cranking out great music!");
}
}
}
Example 1-47. Mp3.as (continued)