1. 程式人生 > >java工廠模式

java工廠模式

工廠模式就是在介面和子類中間加一個過渡段(類),通過這個埠用來獲得繼承了介面的子類的例項化物件。這個過度類就是所謂的工廠類,以後如果需要對程式進行擴充套件的話,直接在工廠類裡面進行改動即可。

工廠模式一般由以下部分組成:

1)抽象工廠角色: 這是工廠方法模式的核心,它與應用程式無關。是具體工廠角色必須實現的介面或者必須繼承的父類。在java中它由抽象類或者介面來實現。 2)具體工廠角色:它含有和具體業務邏輯有關的程式碼。由應用程式呼叫以建立對應的具體產品的物件。 3)抽象產品角色:它是具體產品繼承的父類或者是實現的介面。在java中一般有抽象類或者介面來實現。

 4)具體產品角色:具體工廠角色所建立的物件就是此角色的例項。在java中由具體的類來實現。

程式碼:

//抽象產品角色 public interface Moveable {     void run();  } //具體產品角色 public class Plane implements Moveable {     @Override     public void run() {         System.out.println("plane....");     } } public class Broom implements Moveable {     @Override     public void run() {         System.out.println("broom.....");     } }

//抽象工廠 public abstract class VehicleFactory {     abstract Moveable create(); }

//具體工廠 public class PlaneFactory extends VehicleFactory{     public Moveable create() {         return new Plane();     } }

public class BroomFactory extends VehicleFactory{     public Moveable create() {         return new Broom();     } }

//測試類 public class Test {     public static void main(String[] args) {         VehicleFactory factory = new BroomFactory();         Moveable m = factory.create();         m.run();     } }