您的位置:首页 > 其它

设计模式(1)---工厂模式

2016-02-02 16:11 429 查看
UML类图如下:


“`

/**

* 工厂设计模式

* 一个抽象工厂类,可以派生出多个具体产品类。

* 可以使用工厂模式代替使用new方法返回对象。

* JDK中应用:

* java.util.Calendar#getInstance()

* java.sql.DriverManager#getConnection()

*/

public class FactoryDesign {

interface Car{

public void run();

}

class UnkownCar implements Car{
@Override
public void run() {
System.out.println("unknown mark car is  running");
}
}

class Audi implements Car{
@Override
public void run() {
System.out.println("Audi is running");
}
}

class Volkswagen implements Car{
@Override
public void run() {
System.out.println("Volkswagen is running!");
}
}
enum CarType{
AUDI,VOLKSWAGEN,UNKOWN
}

class CarFactory{
public Car buildCar(CarType type){
if( type==CarType.AUDI)
return new Audi();
if( type==CarType.VOLKSWAGEN){
return new Volkswagen();
}
return new  UnkownCar();
}
}

public static void main(String[] args) {
CarFactory factory = new FactoryDesign().new CarFactory();
Car audiCar = factory.buildCar(CarType.AUDI);
audiCar.run();
Car volkswagenCar = factory.buildCar(CarType.VOLKSWAGEN);
volkswagenCar.run();
}


}

“`
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  工厂模式