~~ Ferrari.java ~~ 具体产品角色类

/**
 * @author VerpHen
 * @date 2013年9月10日  上午9:40:18
 */

package org.verphen.simpleFactory;

/*具体产品角色类:汽车-法拉利Ferrari*/
public class Ferrari implements ICar {

 @Override
 public void run() {
  System.out.println("法拉利启动");
 }

 @Override
 public void stop() {
  System.out.println("法拉利停止");
 }
}

  ~~ Jaguar.java ~~ 具体产品角色类

/**
 * @author VerpHen
 * @date 2013年9月10日  上午9:42:21
 */

package org.verphen.simpleFactory;

/*具体产品角色类:汽车-捷豹-Jaguar*/
public class Jaguar implements ICar {

 @Override
 public void run() {
  System.out.println("捷豹启动");
 }

 @Override
 public void stop() {
  System.out.println("捷豹停止");
 }
}

  ~~ SimpleFactory.java ~~ 工厂角色类

/**
 * @author VerpHen
 * @date 2013年9月10日  上午9:29:02
 */

package org.verphen.simpleFactory;

/*工厂角色类*/
public class SimpleFactory {

 /* 工厂方法,返回类型为抽象的产品角色 */
 public static ICar driveCar(String carType) {

  /* equalsIgnoreCase() 忽略carType大小写 */
  if ("Benz".equalsIgnoreCase(carType)) {
   return new Benz();
  } else if ("Ferrari".equalsIgnoreCase(carType)) {
   return new Ferrari();
  } else if ("Jaguar".equalsIgnoreCase(carType)) {
   return new Jaguar();
  }
  return null;
 }
}