zoukankan      html  css  js  c++  java
  • 工厂方法模式

    抽象Car类:
    public abstract class Car{
      public abstract void createCar();
    }
    
    具体实现类:
    public class AuDi extends Car{
      @Override
      public void createCar(){
        System.out.println("Audi");
      }
    }
    public class BMW extends Car{
      @Override
      public void createCar(){
        System.out.println("BMW");
      }
    }
    工厂类:
    public class FactoryCar{
      public static <T extends Car> getCar(class<T> clz){
        Car car = null;
        try{
          car = (Car) class.forName(clz.getName()).newInstance();
        }catch(Exception e){
          e.printStackTrace();
        }
        
        return (T) car;
      }
    }
    
    使用factory:
    Car audi = FactoryCar.getCar(Audi.class);
    audi.createCar();
    
    Car bmw = FactoryCar.getCar(Audi.class);
    bmw.createCar();
    

      

      

    抽象car类可以换成接口,具体看:http://www.runoob.com/design-pattern/factory-pattern.html

  • 相关阅读:
    2019年8月7日 封装 7夕快乐
    2019年8月4日 多态 苗苗苗苗苗
    2019年7月31日 选课系统
    字符串类型的输入输出
    getline()函数的使用
    出栈序列统计
    因式分解
    质数
    多项式求和
    回文数字
  • 原文地址:https://www.cnblogs.com/IT-lss/p/9705608.html
Copyright © 2011-2022 走看看