設計模式之工廠模式

2021-07-14 12:39:03 字數 2826 閱讀 1066

什麼事工廠模式?

工廠模式是由乙個工廠物件決定建立出哪乙個具體例項,簡單工廠模式是工廠模式家族中最簡單最常用的一種

什麼事工廠模式?

工廠模式是由乙個工廠物件決定建立出哪乙個具體例項,簡單工廠模式是工廠模式家族中最簡單最常用的一種

個人**詳解簡單工廠模式:

簡單工廠模式:建立所有需要的類的抽象父類,所有的類繼承這個抽象父類;

建立乙個新的類,通過在該類方法中中首先建立抽象父類的物件並將該物件賦值為空,

在方法中實現不同的子類的物件的建立(類的轉型機制),並返回建立的物件

package ******factorymodel;

/** * 產品的抽象父類

* */

public abstract class phone

//手機品牌描述方法

public abstract void descript();

}

繼承產品抽象父類的具體類

package ******factorymodel;

/** * 產品的具體類

* **/public class huawei extends phone

public void descript()

}

繼承抽象父類的具體類

package ******factorymodel;

/** * iphone手機類具體類

* *

* */

public class iphone extends phone

public void descript()

}

生產產品的工廠類

package ******factorymodel;

/** * 生產手機工廠

* */

public class phonefactory

//建立華為手機

else if("huawei".equals(type))

return phone;//返回的是乙個目的物件

}}

測試類

package ******factorymodel;

public class test

}

結果展示:

工廠方法模式詳解:

package factorymenthodsmodel;

/* * 建立生產華為手機的工廠,繼承抽象工廠類

* 實現抽象工廠類的方法

*/public class huaweifactory extends factory

}

* 工廠方法模式的簡單思想就是:建立抽象父類工廠,建立具體工廠類繼承抽象父類工廠;

* 建立類的抽象父類,建立需要的類繼承抽象父類,在具體工廠類中的方法裡實現具體類物件的建立;

* 在主方法中通過建立具體的工廠類物件,通過該物件呼叫方法返回乙個物件,將這個方法返回的物件賦值給抽象父類的物件

* (這裡涉及到類的自動轉型

) 建立抽象父類工廠

package factorymenthodsmodel;

/* * 建立抽象父類工廠類

*/public abstract class factory

建立具體的子類工廠

package factorymenthodsmodel;

/* * 建立生產華為手機的工廠,繼承抽象工廠類

* 實現抽象工廠類的方法

*/public class huaweifactory extends factory

}

package factorymenthodsmodel;

/* * 蘋果手機工廠類繼承抽象類

*/public class iphonefactory extends factory

}

建立抽象父類

package factorymenthodsmodel;

/** * 手機產品的抽象父類

* */

public abstract class phone

public abstract void descript();

}

建立具體的子類繼承抽象父類

package factorymenthodsmodel;

/** * 手機生產產品的具體類

* *

*/public class huawei extends phone

//描述手機的方法

public void descript()

}

package factorymenthodsmodel;

/** * 蘋果手機類具體類

* */

public class iphone extends phone

//蘋果手機的描述方法

public void descript()

}

測試類

package factorymenthodsmodel;

public class test

}

整體的思想就是盡可能的減少多個類之間的耦合,寫**盡量養成提取公共父類的習慣。

設計模式 設計模式之工廠模式

工廠方法模式 建立模式 使用場景?作用?形態?場景 大量類似的實體類 要建立的實體類都是同一本質的東西 披薩 有部分類似功能 準備 烘烤 切法 實現方式不一樣 準備的材料不同 烘烤時間不同 切法不同 將繁瑣複雜的建立類的過程聚集在一起,有序清晰 把具體例項化的過程從客戶 中抽離 作用 1 將建立物件...

c 設計模式 之 工廠模式之 工廠模式

1 uml類圖 實現和依賴關係 實現 sportfactory jeepfactory hatchbackfactory 實現 ifactory 介面 sportcar jeepcar hatchbackcar 實現 icar 介面 依賴 ifactory 依賴 icar sportfactory ...

設計模式 工廠模式之簡單工廠模式

定義 由乙個工廠物件 工廠類 來指定建立某乙個產品類的例項。使用場景 客戶端只需傳入指定的引數即可,工廠類負責建立的物件較少 因為指定了傳入的引數 介面類 本想用iphone命名的,見諒 public inte ce phone實現介面類 public class huaweiphone imple...