Java设计模式学习-简单工厂模式

首先创建一个工厂类,工厂类主要作用是为了生产具体的实例。

以汽车工厂为例

首先创建一个汽车的抽象类,并定义类所拥有的方法,比如run

// 可以是抽象类或者是接口
public abstract class Car {
    abstract void run();
}

然后创建类的具体实例

1.audi类

public class Audi extends Car {
    @Override
    void run() {
        // 重写run方法,具体为自己的实现
        System.out.println("Audi is running...");
    }

2.benz类

public class Benz extends Car {
    @Override
    void run() {
        System.out.println("benz is running...");
    }
}

接下来创建汽车工厂,根据不同的条件,生产不同的汽车

public class CarFactory {

    // 可以通过方法传参来创建不同的实例,也可以通过设置name属性,然后通过构造方法或者setter来传递参数
    public Car produce(String name) {
        if (name.equals("benz")) {
            return new Benz();
        } else {
            return new Audi();
        }
    }
}

测试

public class Main {
    public static void main(String[] args) {
        // 创建汽车工厂
        CarFactory carFactory = new CarFactory();
        // 调用工厂的produce方法,传递不同的汽车名称,生产不同汽车
        Car audi = carFactory.produce("audi");
        audi.run();
        Car benz = carFactory.produce("benz");
        benz.run();

    }
}

执行结果

总结,工作中的因为太多的if else 判断,来创建不同的对象,然后不同的对象,会调用不同的方法,为了代码更简洁,同时也为了代码的解耦合,使用了工厂模式来省去大段的条件判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值