JAVA 工廠模式:簡單工廠
阿新 • • 發佈:2018-01-10
int oba 創建型模式 face gen 工廠方法 getc 字符 auto
簡單工廠模式(SimpleFactory Pattern):
又稱為靜態工廠方法(Static Factory Method)模式,它屬於類創建型模式。在簡單工廠模式中,可以根據參數的不同返回不同類的實例。簡單工廠模式專門定義一個類來負責創建其他類的實例,被創建的實例通常都具有共同的父類。
1. 汽車接口
package com.lf.shejimoshi.Factory; /** * @classDesc: 類描述:(汽車接口) * @author baobaolan * @createTime 2018年1月10日 * @version v1.0 */ public interfaceCar { void run(); }
2.奧迪類
package com.lf.shejimoshi.Factory; /** * @classDesc: 類描述:(奧迪車類) * @author baobaolan * @createTime 2018年1月10日 * @version v1.0 */ public class AodiCar implements Car { @Override public void run() { // TODO Auto-generated method stub System.out.println("生成了一輛奧迪!"); } }
3.奔馳類
package com.lf.shejimoshi.Factory; /** * @classDesc: 類描述:(奔馳車類) * @author baobaolan * @createTime 2018年1月10日 * @version v1.0 */ public class BenchiCar implements Car { @Override public void run() { // TODO Auto-generated method stub System.out.println("生成了一輛奔馳!"); } }
4.汽車工廠
package com.lf.shejimoshi.Factory; /** * @classDesc: 類描述:(汽車工廠) * @author baobaolan * @createTime 2018年1月10日 * @version v1.0 */ public class CarFactory { //jdk1.7 switch支持字符串 public static Car getCar(String carType){ Car car = null; switch (carType) { case "奧迪": car = new AodiCar(); break; case "奔馳": car = new BenchiCar(); break; default: break; } return car; } }
5.測試類
package com.lf.shejimoshi.Factory; /** * @classDesc: 類描述:() * @author baobaolan * @createTime 2018年1月10日 * @version v1.0 */ public class Main { public static void main(String[] args) { Car car = CarFactory.getCar("奧迪"); car.run(); } }
6.結果打印
JAVA 工廠模式:簡單工廠