工厂( Factory)模式用于不指定特定的"类"而生成某类的对象。例如,只需指定父类,就可以创建子类的对象。
public class TestCreateCircle{
public static void main(String[] args){
ShapeFactory factory = new ShapeFactory();
Shape s = factory.Make("Circle");
s.draw();
}
}
abstract class Shape{
String type;
String color;
abstract void draw();
}
class Circle extends Shape { //还可以定义其它形状
void draw(){ System.out.print("Circle is drawn!"); }
}
interface IShapeFactory { Shape Make(String name);}
class ShapeFactory implements IShapeFactory{
public Shape Make(String shape){ //用Make()产生新形状
if(shape.equals("Circle"))return new Circle();
}
}
可以看看一个参考博客:
http://blog.csdn.net/lemon_tree12138/article/details/46225213
个人觉得这个设计模式系列非常有参考价值!