5. 工廠方法模式
阿新 • • 發佈:2017-09-02
抽象 oid 區別 sta tor extend strac eat 工廠
1.抽象產品類
public abstract class AbstractProduct { }
2.抽象工廠類
public abstract class AbstractFactory { public abstract AbstractProduct createProduct(); }
3.具體產品類
public class Product extends AbstractProduct { }
4.具體工廠類
public class Factory extends AbstractFactory { @Override public AbstractProduct createProduct() { // TODO Auto-generated method stub return new Product(); } }
5.客戶程序
public class Client { //工廠方法,與抽象工廠的最主要區別可能就在此,單個對象的維度 public AbstractProduct getProduct(AbstractFactory factory){ return factory.createProduct(); } }
6.應用
public class App { public static void main(String[] args) { Client client=new Client(); AbstractProduct product = client.getProduct(new Factory()); } }
5. 工廠方法模式