友情提示:
本人仍是学生,有什么理解上的误差欢迎你们指出。
不过写博客是为了表达意思,若是有格式上的小错误大几率是由于我懒得改,请不要深究。html
public static void main(String[] args) { // 想画100个的图形, // 不用工厂模式: Shape s1 = new Circle(); s1.draw(); Shape s2 = new Square(); s2.draw(); . . Shape s100 = new Circle(); s100.draw(); // 而使用工厂模式的话 ShapeFactory shapeFactory = new ShapeFactory(); for (int i = 0; i < 100; i++) { Shape shape1 = shapeFactory.getShape(i); shape1.draw(); } }
// 想作一个**通用**画图形工具 public void readPicture(String type) { // 不用工厂方法模式 if(type.equals("Circle")) { Shape s = ShapeFactory.getShape("Circle"); s.draw(); } else { Shape s = ShapeFactory.getShape("Square"); s.draw(); } // 用工厂方法模式 // p1 ShapeFactory factory=new CircleFactory(); { // p2 Shape=factory.getShape(); shape.draw(); } }