ActionScript 3.0 Design Patterns

(Chris Devlin) #1
Decorating with Deadly Sins and Heavenly Virtues | 155

Example 4-25. Compassion.as


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


Example 4-26. Openness.as


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

Free download pdf