Johnny850807 / Coding-GYM

自己菜鳥階段時在練習Java物件導向、設計模式時,所設計的題庫,此專案庫目前用來讓我的同學/學生 (欠調教的) 們提交程式碼來進行Review,欲參考OOP題目者可直接到Projects區觀看,題目皆(85%)擁有示範解答程式碼。ISSUE放的都是Code Review嘴砲。(物件導向設計學分兩階段→JAVA→設計模式)
24 stars 6 forks source link

泛型: 零件工廠 (舊題目 不建議) #50

Open Johnny850807 opened 7 years ago

Johnny850807 commented 7 years ago

此題目會用到 Reflection 技術,因此已被列為不建議 ,跳過這題或是來挑戰吧 !!

學習目標: 泛型 , HashMap

現在你要撰寫一個 工廠 的類別 使用者 可以決定

這個工廠 接收 什麼零件 產生 什麼產品

因此必須使用泛型 來讓此工廠的使用可以動態決定零件以及產品 來達到要求

零件限制為下面三種 Screw , Box , Module

而產品 限制為下面兩種 Car , Robot

撰寫一個類別庫 讓你的工廠供使用者彈性選擇即可 並且確保零件及產品只能傳入上述列出的幾種

然而 使用者若要使用工廠 則可以使用如下方式實體化工廠

如: 我要一個能傳入Screw 生產 Car 的工廠

Factory<Screw , Car> carFactory = new Factory<Screw,Car>();

因此零件及產物類別都需要另外撰寫 (自行設計囉)

然而工廠提供兩種功能 **1. 放置零件至工廠囤積 (如果工廠宣告成Factory<Screw , Car> 則他只能丟入Screw零件 ) (囤積零件才能消耗來生產產品)

  1. 生產** (如果工廠宣告成Factory<Screw , Car> 則他只會消耗 Screw來 生產Car )

產品規格─

若要生產Car 則要消耗 3個零件 若要生產 Robot 則要消耗 7個零件

若零件不足 要丟出例外

此題目範例只提供 C# 但與java大同小異 Main只需要隨意測試自己寫的工廠類別庫即可 測試的點如下:

測試工廠囤積產品 測試工廠生產產品: (1)零件足夠則生產 (2)零件不足則印出錯誤訊息