我有一個抽象類A
與1方法public int get(int x, int y)
。如何設置將在類聲明中使用的輸入參數?
類B
,C
,D
具有1種方法;這些都是相同的,並且它們延伸到抽象類A
。
在一類Car
,所述Car
構造接收的字符串參數type
應該用於決定哪些B
一個,C
,D
在類中使用。
顯然,我使用if...else
基於type
的條件聲明來執行此操作。
所以代碼看起來像
if(type.equals("B")){
A = new B();
} else if(type.equals("C")){
A = new C();
} //and so on..
有沒有我可以使用字符串參數任何優雅的方式,只是因爲它是決定3類使用哪一個?
你爲什麼這樣做?這是班級任務的要求嗎?如果沒有,也許你應該告訴我們更多關於你想要解決的總體問題,而不是你試圖通過代碼解決問題的具體細節。也許有一個完全不同的,更好的方法來解決這個問題。 –
不,沒有要求,我只是想知道是否有辦法做到這一點。在創建各種類之後,我只是不想在單個方法中看到很多條件語句。 – user482594
即使您找到一種更優雅的方式來做同樣的事情,這種設計的味道仍然不可思議。我認爲你最好不要追求自己想要做的事情,而要解決整體設計問題。如果您仍然需要我們的幫助,那麼我們需要更多關於您要解決的問題的信息,而不是您想要解決的問題。所以這個問題不應該是「我怎麼能建立一個更好的混合物」,而是「如何完全避免這個混合物」。 –