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

2021-10-07 17:27:02 字數 1635 閱讀 5993

一、工廠方法模式介紹

工廠方法模式:定義了乙個建立物件的抽象方法,由子類決定要例項化的類。工廠方法模式將物件的例項化推遲到子類。

二、應用

在簡單工廠模式的應用上,用工廠方法模式進一步修改:將披薩專案的例項化功能抽象成抽象方法,在不同的口味點餐子類中具體實現。類圖

1)抽象披薩類

public

abstract

class

pizza

public

void

cut(

)public

void

box(

)public

void

setname

(string name)

}

2)具體披薩類,繼承抽象類披薩

public

class

ldpepperpizza

extends

pizza

}

public

class

ldcheesepizza

extends

pizza

}

public

class

bjpepperpizza

extends

pizza

}

public

class

bjcheesepizza

extends

pizza

}

3)抽象類訂單披薩

public

abstract

class

orderpizza

while

(true);

}//寫乙個方法,可以獲取客戶希望訂購的披薩種類

private string gettype()

catch

(ioexception e)

}}

4)具體類訂單披薩

public

class

ldorderpizza

extends

orderpizza

else

if(ordertype.

equals

("pepper"))

return pizza;

}}

public

class

bjorderpizza

extends

orderpizza

else

if(ordertype.

equals

("pepper"))

return pizza;

}}

5)店鋪類

public

class

pizzastore

}

設計模式 四 工廠方法模式 C

工廠方法 介紹意圖 定義乙個建立物件的介面,讓其子類自己決定例項化哪乙個工廠類,工廠模式使其建立過程延遲到子類進行。主要解決 主要解決介面選擇的問題。何時使用 我們明確地計畫不同條件下建立不同例項時。如何解決 讓其子類實現工廠介面,返回的也是乙個抽象的產品。關鍵 建立過程在其子類執行。應用例項 1 ...

設計模式 工廠方法模式

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

設計模式 工廠方法模式

1 factorymethod.h ifndef factorymethod h define factorymethod h include include using namespace std class osproduct 產品,product,產品的抽象類 class windowspro...