ActionScript 3.0 Design Patterns

(Chris Devlin) #1

156 | Chapter 4: Decorator Pattern


Example 4-27. Diligence.as


package
{
public class Diligence extends Decorator
{
private var components:Component;
public function Diligence(components:Component)
{
this.components=components;
}
override public function getSoul( ):String
{
return components.getSoul( ) + "|Diligence";
}
override public function good( ):Number
{
return 10 + components.good( );
}
override public function evil( ):Number
{
return -5 + components.evil( );
}
}
}


Example 4-28. Justice.as


package
{
public class Justice extends Decorator
{
private var components:Component;
public function Justice(components:Component)
{
this.components=components;
}
override public function getSoul( ):String
{
return components.getSoul( ) + "|Justice";
}
override public function good( ):Number
{
return 9 + components.good( );
}
override public function evil( ):Number
{
return -9 + components.evil( );
}
}
}

Free download pdf