设计模式:工厂方法模式学习

使用场景:工厂方法用于多个方法实现了一个接口的情况下。

定义:定义一个用于创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。

工厂方法模式的简单实现:

1,创建抽象工厂

2,具体工厂

3,客户端调用

工厂方法一:参数法

工厂方法二:多个函数法

工厂方法三:静态方法

假定场景:现在有一个图形类的接口,下面有方法决定是计算圆面积或者是三角形面积。

参数法:

public class SumAreaFactory1{
   public isShape produceRectangle(){
   IsShape s=null;
  
    s=new  Rectangle();
  return s;
  }
public isShape produceCircle(){
   IsShape s=null;
  
    s=new  Rectangle();
  return s;
  }
}

多个函数法:

public isShape produce Rectangle(){
   IsShape s=null;
  
    s=new  Rectangle();
  return s;
  }
public isShape produceCircle(){
   IsShape s=null;
  
    s=new  Circle();
  return s;
  }

静态方法:

public static isShape produceRectangle(){
   IsShape s=null;
  
    s=new  Rectangle();
  return s;
  }
public static isShape produceCircle(){
   IsShape s=null;
  
    s=new  Circle();
  return s;
  }

 

点赞