分享

7.1 简单工厂

 黎可图书馆 2013-09-04
一. 概念
是不同工厂方法模式的一个特殊实现。

二. 实现
既然是工厂模式,就举一个工厂的例子吧。 
假设一个工厂生产交通工具,包括火车和汽车,我就来模拟这个工厂模式。

Test.java
public class Test {
public static void main(String[] args) {
Car car =(Car) VehicleFactory.getVehicle(Vehicle.CAR);//工厂类生产汽车
Train train = (Train) VehicleFactory.getVehicle(Vehicle.TRAIN);//工厂类生产火车
car.run();
train.run();
}
}
测试类,用工厂类分别生产一辆汽车和一列火车。

Vehicle.java
public abstract class Vehicle {
public static String CAR = "car";
public static String TRAIN = "train";
public abstract void run();
}
一个车的抽象类,包含一个run方法。

Car.java
public class Car extends Vehicle {

@Override
public void run() {
System.out.println("car is running");
}

}
继承与Vehicle, 用于模拟Car。

Train.java
public class Train extends Vehicle {

@Override
public void run() {
System.out.println("train is running");
}

}
继承与Vehicle,用于模拟Train

VehicleFactory.java
public class VehicleFactory {
public static Vehicle getVehicle(String type){
if(type.equals(Vehicle.CAR)){
return new Car();
}else if(type.equals(Vehicle.TRAIN)){
return new Train();
}else{
return null;
}
}
}
简单工厂类,用于生产Vehicle。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多