簡單工廠模式:用乙個單獨的類來做創造例項的過程。根據輸入,工廠就可以例項化出合適的物件,通過多型返回父類的方式實現結果。
「由於可以繼承基類的所有成員,子類就都有了相同的行為,但是有時子類的某些行為需要相互區別,子類需要覆寫父類中的方法來實現子類特有的行為,這樣的技術在物件導向的程式設計中就是多型。多型即相同型別的物件呼叫相同的方法卻表現出不同行為的現象。」栽自《learning hard c#學習筆記》
"多型表示不同的物件可以執行相同的動作,但要通過他們自己的實現**來執行。"
**中表現
1.使用virtual和override關鍵字實現方法重寫
2.物件的宣告必須為父類;例項化的物件是子類
例1.:父類 name =new 子類();
例2:子類 name1=new 子類();
父類 name2=name1;
以計算器為例
operation運算類
加減類//operation運算類
public class operation
set
}public double numberb
set
}//可執行相同的動作:即getresult
public virtual double getresult()
}
簡單運算工廠類//加減類
class operationadd:operation
}class operationsub : operation
}
客戶端**//簡單運算工廠
public class operationfactory
//通過多型返回父類的方式
return oper;
}}
總結:將運算分離,修改其中乙個不影響另外幾個;如需增加其他運算,增加相應運運算元類,修改運算工廠 switch增加分支;更改介面時,不影響運算。class program
}
工廠模式 簡單工廠
簡單工廠其實並不是乙個設計模式,反而比較像一種程式設計習慣。我個人的這樣總結簡單工廠 建立乙個類,封裝建立物件的 故事 現在我要開一家披薩店,叫bbk 必敗客 披薩,賣很多種披薩 芝士披薩 榴蓮披薩等等,我有乙個orderpizza string type 方法,根據客戶傳來的type來提供不同的披...
工廠模式 簡單工廠
工廠 處理建立物件的細節。目的 將例項化具體類的 從應用中抽離,或者封裝起來,可以避免干擾應用的其他部分。簡單工廠 簡單工廠其實不是乙個設計模式,反而像一種程式設計習慣。產品實現 desc 產品a public inte ce a class a1 implements a override pub...
簡單工廠模式,工廠模式,抽象工廠模式
三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...