interface Cycle
{
void draw();
}
interface CycleFactory
{
Cycle getCycle();
}
//Unicylce的实现
class Unicycle implements Cycle
{
public void draw()
{
System.out.println("Unicycle drawing!");
}
}
class UnicycleFactory implements CycleFactory
{
public Cycle getCycle()
{
return new Unicycle();
}
}
//Bicycle的实现
class Bicycle implements Cycle
{
public void draw()
{
System.out.println("Bicycle drawing!");
}
}
class BicycleFactory implements CycleFactory
{
public Cycle getCycle()
{
return new Bicycle();
}
}
// Tricycle的实现
class Tricycle implements Cycle
{
public void draw()
{
System.out.println("Tricycle drawing!");
}
}
class TricycleFactory implements CycleFactory
{
public Cycle getCycle()
{
return new Tricycle();
}
}
//主函数
public class Cycles
{
public static void DrawCycles(CycleFactory factory)
{
Cycle c = factory.getCycle();
c.draw();
}
public static void main(String args[])
{
DrawCycles(new UnicycleFactory());
DrawCycles(new BicycleFactory());
DrawCycles(new TricycleFactory());
}
}