友情提示:
本人仍是學生,有什麼理解上的誤差歡迎你們指出。
不過寫博客是爲了表達意思,若是有格式上的小錯誤大機率是由於我懶得改,請不要深究。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(); } }