設計模式(2) 工廠方法模式

2021-07-04 03:03:21 字數 926 閱讀 9450

工廠方法模式:

定義:定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法使用乙個類的例項化延遲到子類。

舉個栗子:我們要生產水果罐頭,我們應該怎麼做呢?

首先,我們需要準備好原料。其次我們需要乙個罐頭工廠,往工廠裡運送不同的原料,出來的就是不同的罐頭。

原料就是蘋果啊、橘子啊等等的這些類。

inte***ce ifruits 

public void taste()

}class orange implements ifruits

}

工廠呢就是能夠生產水果罐頭的工廠啊。

abstract class abstractfactory 

class factory extends abstractfactory catch (exception e)

return (t) fruits;

}}

場景類:

public class client 

}

書中的例子:女媧造人,產生各種膚色的人。

package ne;

inte***ce human

class black_human implements human

}class yellow_human implements human

}abstract class abstractfactory

class factory extends abstractfactory catch (exception e)

return (t) human; }}

public class client

}

設計模式2 工廠方法模式

工廠方法模式同樣屬於類的建立型模式又被稱為多型工廠模式 工廠方法模式的意義是定義乙個建立 產品物件的工廠介面,將實際建立工作推遲到子類當中。核心工廠類不再負責產品的建立,這樣核心類成為乙個抽象工廠角色,僅負責具體工廠子類必須實現的介面,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工...

設計模式2 工廠方法模式

工廠方法模式 定義 定義乙個用於建立物件的介面,讓子類決定例項化哪個類。工廠方法使乙個類的例項化延遲到其子類。類圖 抽象產品類product負責定義產品的共性,實現對事物最抽象的定義。creator為抽象建立類,也就是抽象工廠,具體如何建立產品類是由具體的實現工廠concretecreator完成的...

設計模式2 工廠方法模式

定義 定義乙個建立物件的介面,但讓實現這個介面的類來決定例項化哪個類。工廠方法讓類的例項化推遲到子類中進行。注 可能有人覺得定義中說的有點不好懂。下面摘抄的解釋 工廠方法讓子類決定要例項化的類是哪乙個。所謂的 決定 並不是指模式允許子類本身在執行時做決定,而是指在編寫建立者類時,不需要知道實際建立的...