什麼是 Setter Method?
Setter 是一種 method,用來「設定 (set) / 修改」一個物件的 field (屬性)。
在 OOP 設計裡,我們通常把 field 設為 private,不讓外部直接存取。
這樣做叫做 Encapsulation 。
要改變 field 的值,只能透過 setter method。
Setter 的語法
public void setFieldName(Type value) {
this.fieldName = value;
}
public:外部可以呼叫
void:沒有回傳值
setXxx:命名慣例(例如 field 是 name,setter 叫 setName)
this.fieldName = value;:把外部傳進來的參數設定到當前物件的 field
Setter 的好處
封裝 (Encapsulation)
外部不能隨意改 field,只能透過 setter
可以在 setter 裡加入條件檢查(例如年齡必須 > 0)
控制修改行為
可以在 setter 裡加上 log、觸發事件、或自動更新其他欄位
API 一致性
使用 getXxx()、setXxx() 讓程式更有規範
大致效果是這樣: