java三大工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)

本文详细介绍了Java中的三种工厂模式:简单工厂模式、工厂方法模式和抽象工厂模式,包括各自的类图、优缺点以及应用场景。通过对不同工厂模式的比较,阐述了如何在灵活性和开闭原则之间做出选择,并提出通过反射结合抽象工厂可以进一步优化设计。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、概述

工厂模式主要是通过把创建对象的代码包装起来,做到创建对象的代码与具体的业务逻辑代码相隔离的目的。

工厂模式可以细分为:简单工厂模式,工厂方法模式,抽象工厂模式。

2、简单工厂模式

简单工厂的标准类图

首先,我们举个例子,我们需要生产3种不同的车类型(电车,油车,混能车),用户自行指定需要什么车,就给用户创建什么车的对象。

分析一下,电车,油车,混能车都是具体的类,他们应该同属于车这个抽象类,然后我们需要建一个工厂类来根据用户的指定,创建指定的车型类。所以再根据上面的图,我们就可以开始写代码模拟实现这个例子。

创建车的抽象接口

public interface Car {
    public void createCar();
}

 创建具体车型类,并实现Car接口

public class Ecar implements Car{
    @Override
    public void createCar() {
        System.out.println("造出电车");
    }
}
public class Ocar implements Car{
    @Override
    public void createCar() {
        System.out.println("造出油车");
    }
}

public class Mcar implements Car{
    @Override
    public void createCar() {
        System.out.println("造出混能车");
    }
}

创建工厂类

public class CarFactory {

    public Car createCar(String s) {
        Car car = null;
        switch (s) {
            case "电车":
                car = new Ecar();
                break;
            case "油车":
                car = new Ocar();
                break;
            case "混能车":
                car = new Mcar();
                break;
        }
        return car;
   
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值