程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java簡單工廠模式

Java簡單工廠模式

編輯:關於JAVA

簡單工廠模式 SimpleFactory,適用於業務相對較簡單地情況,少扯閒話,先上code:

  ~~ ICar.Java ~~  抽象產品角色接口

  /**

  * @author VerpHen

  * @date 2013年9月10日  上午9:36:19

  */

  package org.verphen.simpleFactory;

  /*抽象產品角色接口:汽車Car*/

  public interface ICar {

  /* 汽車啟動 */

  public void run();

  /* 汽車停止 */

  public void stop();

  }

  ~~ Benz.Java ~~ 具體產品角色類

  /**

  * @author VerpHen

  * @date 2013年9月10日  上午9:38:08

  */

  package org.verphen.simpleFactory;

  /*具體產品角色類:汽車-奔馳Benz*/

  public class Benz implements ICar {

  @Override

  public void run() {

  System.out.println("奔馳啟動");

  }

  @Override

  public void stop() {

  System.out.println("奔馳停止");

  }

  }

  ~~ 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;

  }

  }

  ~~ SimpleFactoryTest.Java ~~ 測試類

  /**

  * @author VerpHen

  * @date 2013年9月10日  上午9:48:32

  */

  package org.verphen.simpleFactory;

  /*測試簡單工廠方法類*/

  public class SimpleFactoryTest {

  public static void main(String[] args) {

  // ICar car = SimpleFactory.driveCar("Benz");

  // ICar car = SimpleFactory.driveCar("Ferrari");

  ICar car = SimpleFactory.driveCar("Jaguar");

  car.run();

  car.stop();

  }

  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved