设计模式一:工厂模式(二)

2014-11-24 09:14:54 · 作者: · 浏览: 1
return new BmwCar();//专门制造宝马
}

}

14.工厂方法子类--生产奔驰车的工厂
[java]
package com.bestaone.pattern.factory;

public class BenzCarFactory implements FactoryMethod{

@Override
public Benz buildCar() {
return new BenzCar();//专门制造奔驰
}

}

15.抽象工厂
[java]
package com.bestaone.pattern.factory;

/**
* 抽象工厂
* @author 张国圣
*/
public interface AbstractFactory {

public abstract Car buildCar(String name);

}

16.抽象工厂子类--专门生产各品牌商务车工厂
[java]
package com.bestaone.pattern.factory;

/**
* 专门制造专门制造商务车
* @author 张国圣
*/
public class BussinessFactory implements AbstractFactory{

@Override
public Car buildCar(String name) {
Car car = null;
if("BMW".equals(name)){
car = new BmwBussinessCar();
}else{
car = new BenzBussinessCar();
}
return car;
}

}

17.抽象工厂子类--专门生产各品牌跑车工厂
[java]
package com.bestaone.pattern.factory;

/**
* 专门制造跑车
* @author 张国圣
*/
public class SportsFactory implements AbstractFactory{

@Override
public Car buildCar(String name) {
Car car = null;
if("BMW".equals(name)){
car = new BmwSportsCar();
}else{
car = new BenzSportsCar();
}
return car;
}

}