JAVA 工厂模式:简单工厂

Posted leifei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 工厂模式:简单工厂相关的知识,希望对你有一定的参考价值。

简单工厂模式(SimpleFactory Pattern):

  又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类

1. 汽车接口

package com.lf.shejimoshi.Factory;

/**
 * @classDesc: 类描述:(汽车接口) 
 * @author baobaolan
 * @createTime 2018年1月10日  
 * @version v1.0
 */
public interface Car {
    
    void run();
    
}

2.奥迪类

package com.lf.shejimoshi.Factory;

/**
 * @classDesc: 类描述:(奥迪车类) 
 * @author baobaolan
 * @createTime 2018年1月10日  
 * @version v1.0
 */
public class AodiCar implements Car {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("生成了一辆奥迪!");
    }

}

3.奔驰类

package com.lf.shejimoshi.Factory;

/**
 * @classDesc: 类描述:(奔驰车类) 
 * @author baobaolan
 * @createTime 2018年1月10日  
 * @version v1.0
 */
public class BenchiCar implements Car {

    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println("生成了一辆奔驰!");
    }

}

4.汽车工厂

package com.lf.shejimoshi.Factory;

/**
 * @classDesc: 类描述:(汽车工厂) 
 * @author baobaolan
 * @createTime 2018年1月10日  
 * @version v1.0
 */
public class CarFactory {
    
    //jdk1.7 switch支持字符串
    public static Car getCar(String carType){
        Car car = null;
        switch (carType) {
        case "奥迪":
            car = new AodiCar(); 
            break;
        case "奔驰":
            car = new BenchiCar();
            break;    
        default:
            break;
        }
        return car;
    }
    
}

5.测试类

package com.lf.shejimoshi.Factory;

/**
 * @classDesc: 类描述:() 
 * @author baobaolan
 * @createTime 2018年1月10日  
 * @version v1.0
 */
public class Main {
    
    public static void main(String[] args) {
        Car car = CarFactory.getCar("奥迪");
        car.run();
                
    }
}

6.结果打印

技术分享图片

 

以上是关于JAVA 工厂模式:简单工厂的主要内容,如果未能解决你的问题,请参考以下文章

Java,设计模式,简单工厂。

用java 编写程序写出简单的工厂模式?

Java 工厂模式

java工厂模式,懂的人进

简单工厂模式\工厂方法模式

java中啥情况下采用工厂类?工厂类的作用是啥?