设计模式-工厂方法模式

来源:互联网 发布:怎么在mac上装windows 编辑:程序博客网 时间:2024/06/04 19:32
//抽象工厂类public abstract class Factory{    public abstract <T extends Product> T createProdct(Class<T> c);}//具体工厂类public class Factory1 extends Factory{    public <T extends Product> T createProdct(Class<T> c){        Product product = null;        try{            product = (Product)Class.forName(c.getName()).newInstance();        }catch (Exception e){        }        return (T)product;    }}//抽象产品类public abstract class Product {    //产品类的公共方法    public void method1(){}    //其他抽象方法    public abstract void method2();}//具体产品类1public class Product1 extends Product{    public void method2(){        //doSomething    }}//具体产品类2public class Product2 extends Product{    public void method2(){        //doSomething    }}
public class Main {    public static void main(String[] args) {        Factory factory = new Factory1();        Product product = factory.createProdct(Product1.class);        System.out.println(product.toString());    }}
原创粉丝点击