假設我有一個從水果類如何根據不同的參數創建不同類的不同對象?
擴展蘋果類和我有一個從水果類擴展橙類太
兩個班有兩個不同的構造
蘋果有蘋果(大小,顏色,味道,重量);橙色有橙色(大小,半徑,直徑);
每個對象有自己獨特的方法,我必須調用
如何創建不同的情況下,僅僅通過創建水果類?根據不同的參數?像
Fruit a = new Fruit(int size, int colour, String taste, int weight); To create apple
Fruit a = new Fruit(int size, int radius, int diameter); To create orange
我該怎麼做?請幫助
UPDATE:
我明白我必須用工廠,但我並沒有訓練做,我怎麼使用工廠在C#實現上述
因爲我的老闆只說他希望用戶在不關心水果名稱的情況下將參數輸入水果類。他告訴我用java調用工廠,我該怎麼做?
簡而言之:你不知道。構造函數是特定於水果類型的,那麼爲什麼你會試圖在基類水果中強制它們的構造函數呢?如果你知道你正在創建一個Apple(因爲你正在調用Apple特定的構造函數),爲什麼不用新的Apple()代替Fruit()呢? 您可能想看看一個工廠,您可以在其中實施CreateFruit並帶有多個重載,以根據簽名返回特定的水果。 –
'每個對象都有自己獨特的方法 - 但你的問題被標記爲[多態] - 我認爲你需要去查找那個單詞。另外,我認爲你需要向老闆尋求澄清。他被問到的你毫無意義。 – Jamiec
他的意思是他希望Fruit對象根據用戶輸入的參數自動將對象分類爲Apple或Orange,而不必聲明蘋果或橙色 – user2399158