package { public class actionscript_book_GeometricShapes_com_example_programmingas3_geometricshapes_GeometricShapeFactory { public static function createShape(shapeName:String, len:Number):actionscript_book_GeometricShapes_com_example_programmingas3_geometricshapes_IGeometricShape { switch (shapeName) { case "Triangle": return new actionscript_book_GeometricShapes_com_example_programmingas3_geometricshapes_EquilateralTriangle(len); case "Square": return new actionscript_book_GeometricShapes_com_example_programmingas3_geometricshapes_Square(len); case "Circle": return new actionscript_book_GeometricShapes_com_example_programmingas3_geometricshapes_Circle(len); } return null; } } }