工厂模式——代码体现

简单工厂模式,所有的汽车只有一个工厂,而工厂模式,则是不同品牌的汽车有自己相对应的工厂,进行代码分流。但在实际应用中,简单工厂模式运用也非常之多。

一、新建汽车抽象类

public abstract class Car {
    private String color;

    /**
     *  汽车启动的方法
     */
    void run(){

    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }
}

二、新建宝马汽车类和奔驰汽车类,继承Car

public class Benz extends Car {

    @Override
    void run() {
        System.out.println(this.getColor() +"的奔驰在奔跑");
    }
}
public class BWM extends Car{

    @Override
    public void run() {
        System.out.println(this.getColor() + "的宝马在奔跑");
    }
}

三、新建汽车工厂接口

public interface CarFactory {

    /**
     * 汽车工厂接口
     * @return
     */
    Car createCar();
}

四、宝马汽车工厂类和奔驰汽车工厂类,需要用到工厂时,不同牌子的汽车都能找到自己的工厂了

public class BWMFactory implements CarFactory {
    @Override
    public Car createCar() {
        Car bwm = new BWM();
        return bwm;
    }
}
public class BenzFactory implements CarFactory {
    @Override
    public Car createCar() {
        Car benz = new Benz();
        // 中间可能有两百行代码
        return benz;
    }
}

五、测试类

public class Client {

    public static void main(String[] args) {
        CarFactory carFactory = new BenzFactory();
        Car car = carFactory.createCar();
        car.run();
        CarFactory carFactory2 = new BWMFactory();
        Car car2 = carFactory2.createCar();
        car2.run();
    }
}

六、运行结果

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值