342 | Chapter 9: Template Method Pattern
Example 9-4. ShedMaker.as
package
{
//Abstract Class
class ShedMaker
{
public final function templateMethod( ):void
{
doDesign( );
determineSupplies( );
storeTools( );
}
protected function doDesign( ):void
{
}
protected function determineSupplies( ):void
{
}
private final function storeTools( ):void
{
trace("Now I can put all my tools away.\n");
}
}
}
Example 9-5. WoodShed.as
package
{
class WoodShed extends ShedMaker
{
trace("WoodShed");
override protected function doDesign( ):void
{
trace("Designing Wood Shed");
}
override protected function determineSupplies( ):void
{
trace("I'll do it with 1 X 12's for the walls.");
trace("The rest I'll do with 2 X 4's.");
}
}
}