设计模式-简单工厂模式

(1)简单工厂模式:

下面以车为例写一个简单工厂模式:

public abstract class BaseCar {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public abstract void carDesc();
}
public class FamilyCar extends BaseCar {

    private String autopilot;

    public String getAutopilot() {
        return autopilot;
    }

    public void setAutopilot(String autopilot) {
        this.autopilot = autopilot;
    }

    @Override
    public void carDesc() {
        System.out.println("----FamilyCar");
    }
}
public class FreightCar extends BaseCar {

    @Override
    public void carDesc() {
        System.out.println("----FreightCar");
    }
}
public class SuvCar extends BaseCar {

    @Override
    public void carDesc() {
        System.out.println("----SuvCar");
    }
}

写一个生产对象的工厂类:

public class SimpleFactory {

    public static final int FamilyCar=1;  //冢挺汽车
    public static final int SuvCar=2;  //SVN汽车
    public static final int FreightCar=3;  //皮卡汽车

    public static BaseCar createCar(int type){
        switch (type){
            case FamilyCar:
                return new FamilyCar();
            case SuvCar:
                return new SuvCar();
            case FreightCar:
                return new FreightCar();
            default:
                return null;

        }
    }

    public static void main(String[] args){
        BaseCar familyCar1 = SimpleFactory.createCar(SimpleFactory.FamilyCar);
        familyCar1.carDesc();
        BaseCar suv = SimpleFactory.createCar(SimpleFactory.SuvCar);
        suv.carDesc();
    }

}

 

测试结果:

----FamilyCar
----SuvCar
 

总结:这种模式主要是扩展性差,耦合度比较高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值