设计模式-工厂设计模式 java实现

​ 工厂模式可分为 1、简单工厂(Simple Factory) 2、抽象工厂(Abstact Fact) 3、工厂方法(Factory Method) 三种形态

### 简单工厂

​ 简单工厂,既定义一个用于创建对象的接口,简单工厂一般有三个角色组成,分为工厂类,抽象产品,具体产品。

​ 栗子: 某汽车厂有三条生产线,分别是 比雅帝悍马联箱 有人来买车的时候,就从 汽车工厂生产汽车。

在这里插入图片描述

抽象产品角色代码实现 Car.java
public abstract class Car {
    // 子类共有的方法
    public abstract void driver(String customName);
}
具体产品角色代码实现

BYD.java 类

public class BYD extends Car {
    @Override
    public void driver(String customName) {
        System.out.println(customName + "的 比雅帝 驱逐舰05 时速888千米/小时");
    }
}

LX.java 类

public class LX extends Car{
    @Override
    public void driver(String customName) {
        System.out.println(customName + "的 联箱 时速333千米/小时");
    }
}

HM.java 类

public class HM extends Car {
    @Override
    public void driver(String customName) {
        System.out.println(customName + "的 悍马Plus dmi 时速666千米/小时");
    }
}
工厂类角色代码实现 CarFactor.java
// 汽车工厂类,负责生产汽车
public class CarFactor {

    public Car getCar(String name) {
        if ("比雅帝".equals(name)) {
            return new BYD();
        } else if ("悍马".equals(name)) {
            return new HM();
        } else if ("联箱".equals(name)) {
            return new LX();
        } else {
            return null;
        }
    }

}
编写代码测试简单工厂 SimpleFactorTest.java
public class SimpleFactorTest {
    public static void main(String[] args) {
        CarFactor carFactor = new CarFactor();
        // 小明要来买 比雅帝  工厂类中取出
        Car byd = carFactor.getCar("比雅帝");
        byd.driver("小明");
        // 张三要买 悍马
        Car hm = carFactor.getCar("悍马");
        hm.driver("张三");
        // 李四要买 联箱
        Car lx = carFactor.getCar("联箱");
        lx.driver("李四");
    }
}
  • 18
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值