java (介面)interface 工廠方法(FactoryMethod)
阿新 • • 發佈:2018-11-05
java (介面)interface 工廠方法(FactoryMethod)
1. 概述:
定義一個用於建立物件的介面,讓子類決定例項化哪一個類。FactoryMethod使一個類的例項化延遲到其子類。
2. 適用性:
- 當一個類不知道它所必須建立的物件的類的時候
- 當一個類希望由它的子類來指定它所建立的物件的時候
- 當類將建立物件的職責委託給多個幫助子類中的某一個,並且你希望將哪一個幫助子類是代理者這一資訊區域性化的時候
3.dome
- 寫程式碼的時候,表面看的時候,都是介面與介面之間的互動,但執行的時候,是介面的實現類的程式碼去執行。這個介面多型性的的應用。
- 核心思想:由介面先定義功能,真正需要用的時候,由子類來決定以及建立誰的物件。
- XXXWorkFactory的例項去決定建立XXXWork 的具體例項是誰。
//工廠方法的設計模式 public class TestFactoryMethod { public static void main(String[] args) { IWorkFactory i = new StudentWorkFactory(); i.getWork().doWork();//學生寫作業 //i,先獲得實現Work介面相應的例項,再由例項去執行介面重寫的方法 IWorkFactory i1 = new TeacherWorkFactory(); i1.getWork().doWork();//老師教功課 } } interface IWorkFactory{ Work getWork(); } interface Work{ void doWork(); } class StudentWorkFactory implements IWorkFactory{ @Override public Work getWork() { return new StudentWork(); } } class TeacherWorkFactory implements IWorkFactory{ @Override public Work getWork() { return new TeacherWork(); } } class StudentWork implements Work{ @Override public void doWork() { System.out.println("學生寫作業"); } } class TeacherWork implements Work{ @Override public void doWork() { System.out.println("老師教功課"); } }