標籤:
一、概述
1.目標:要控制任意類型交通工具的生產模式
2.目標有兩層意思(1)任意類型 (2)生產模式,所以對應的,要這兩個層面上抽象(Movable,VehicleFactory),利用介面,實現多態
二、類結構
1.Interface Movable.java
2.Car.java
3.Plane.java
4.Interface VehicleFactory.java
5.CarFactory.java
6.PlaneFactory.java
三、代碼
1.Movable.java
public interface Movable {void run();}
2.Car.java
public class Car implements Movable {public Car() {}public void run() {System.out.println("Car running...............");}}
3.Plane.java
public class Plane implements Movable {@Overridepublic void run() {System.out.println("飛機飛翔中。。。。");}}
4.VehicleFactory.java
public interface VehicleFactory {Movable create();}
5.CarFactory.java
public class CarFactory implements VehicleFactory {private static Car car = new Car();@Overridepublic Movable create() {return car;}}
6.PlaneFactory.java
public class PlaneFactory implements VehicleFactory {private static Plane plane = new Plane();@Overridepublic Movable create() {return plane;}}
7.Test.java
public class Test {@org.junit.Testpublic void test() {VehicleFactory factory = new CarFactory();Movable m1 = factory.create();m1.run();Movable m2 = factory.create();System.out.println(m1 == m2);System.out.println(m1.equals(m2));System.out.println("******************************");factory = new PlaneFactory();m1 = factory.create();m1.run();m2 = factory.create();System.out.println(m1 == m2);System.out.println(m1.equals(m2));}}
8.測試結果
Java 簡單原廠模式