码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA 工厂模式:简单工厂

时间:2018-01-10 18:34:55      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:pack   rri   span   父类   color   bubuko   get   esc   str   

简单工厂模式(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 工厂模式:简单工厂

标签:pack   rri   span   父类   color   bubuko   get   esc   str   

原文地址:https://www.cnblogs.com/leifei/p/8259823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!