我不確定以前是否有過類似的問題,但是沒有得到任何有用的答案。Setter vs Java中的重載構造函數
如問題所示,有什麼更好的,有重載的構造函數或有多個setter函數?
場景:
public class Something {
private int a;
private int b;
public Something(int a, int b) {
this.a = a;
this.b = b;
}
... // Do Something
}
現在,我的基本要求是隻有兩個參數。現在明天,要求被改變了,我被要求添加一個新的參數c,然後在第二天d,並給出一個聲明說我們可以有更多的字段。
我已經有這個構造函數在多個項目的依賴項。現在,回到我的問題
- 是否建議繼續添加新的字段到已經重載的構造函數?
- 每次我需要添加一個新字段以便不中斷相關代碼時,創建一個新的重載構造函數?
- 或者只使用默認空的默認構造函數,並且只使用setter方法(搞亂了我的不變性,這是高度關注的不是)
是什麼,你可以給我的建議嗎?
「弄亂了我的不變性,這不是高度關注的問題」如果你已經努力使某個類不可變(因此更容易推理),不要輕易放棄這個工作。 – 2012-03-27 01:39:44
'......有什麼更好的,有一個重載的構造函數或有多個setter函數?「」是「。但嚴重的是,這一切都取決於上下文。有時你需要兩者,有時你需要在JavaBeans限制內工作,... – 2012-03-27 01:40:14