博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式(五)之工厂方法模式
阅读量:6292 次
发布时间:2019-06-22

本文共 1223 字,大约阅读时间需要 4 分钟。

产品类型接口:

public interface Car {}

产品工厂接口:

public interface ICarFactory {    public Car createCar();}

产品一:

public class BMW implements Car {
public BMW(){ System.out.println("create BMW."); }}

产品二:

public class Tesla implements Car {
public Tesla() { System.out.println("Create Tesla."); }}

简单工厂:

public class CarFactory {    public static Car createCar(String type) {        switch (type) {        case "BMW":            return new BMW();        case "Tesla":            return new Tesla();        default:            return null;        }    }}

工厂方法一:

public class BMWFactory implements ICarFactory {
@Override public Car createCar() { return new BMW(); }}

工厂方法二:

public class TeslaFactory implements ICarFactory {
@Override public Car createCar() { return new Tesla(); }}

调用者:

public static void main(String[] args) {        // 简单工厂        Car bmw = CarFactory.createCar("BMW");        Car tesla = CarFactory.createCar("Tesla");        // 工厂方法        ICarFactory bmwFactory = new BMWFactory();        ICarFactory teslaFactory = new TeslaFactory();        Car bmw2 = bmwFactory.createCar();        Car tesla2 = teslaFactory.createCar();    }}

转载地址:http://dhuta.baihongyu.com/

你可能感兴趣的文章
Ucenter 会员同步登录通讯原理
查看>>
php--------获取当前时间、时间戳
查看>>
Spring MVC中文文档翻译发布
查看>>
docker centos环境部署tomcat
查看>>
JavaScript 基础(九): 条件 语句
查看>>
Linux系统固定IP配置
查看>>
配置Quartz
查看>>
Linux 线程实现机制分析
查看>>
继承自ActionBarActivity的activity的activity theme问题
查看>>
设计模式01:简单工厂模式
查看>>
项目经理笔记一
查看>>
Hibernate一对一外键双向关联
查看>>
mac pro 入手,php环境配置总结
查看>>
MyBatis-Plus | 最简单的查询操作教程(Lambda)
查看>>
rpmfusion 的国内大学 NEU 源配置
查看>>
spring jpa 配置详解
查看>>
IOE,为什么去IOE?
查看>>
Storm中的Worker
查看>>
dangdang.ddframe.job中页面修改表达式后进行检查
查看>>
Web基础架构:负载均衡和LVS
查看>>