實作資料封裝的一種方法是使用accessors 和Mutators。 accessors 和Mutators的作用是傳回和設定物件狀態的值。讓我們學習如何用Java來寫accessors 和Mutators。例如,我們將使用Person類,它的狀態和建構函數已經定義:
#accessor方法
accessors 方法用於傳回私有欄位的值。它遵循一種命名方案,將“get”前綴放在方法名稱的開頭。例如,讓我們為firstname、middleNames和lastname新增Mutator方法:
這些方法總是傳回與其對應的私有欄位相同的資料類型(例如String),然後只傳回該私有欄位的值。
我們現在可以透過Person物件的方法來存取它們的值:
Mutator方法
使用mutator方法設定私有欄位的值。它遵循一種命名方案,將單字“set”前綴放在方法名稱的開頭。例如,讓我們為位址和使用者名稱新增mutator欄位:
這些方法沒有傳回類型,並且接受與其對應的私有欄位相同的資料類型的參數。然後使用該參數設定該私有欄位的值。
現在可以修改Person物件中的位址和使用者名稱的值:
為什麼使用accessors 和Mutator?
我們可以定義類別的私有欄位更改為public,並獲得相同的結果。重要的是要記住,我們希望盡可能地隱藏物件的資料。這些方法提供的額外緩衝區允許我們:
改變資料在幕後的處理方式。
對欄位設定為的值進行驗證。
假設我們決定修改儲存中間名稱的方式。我們現在可以使用字串陣列而不是一個字串:
物件內部的實作已經更改,但是外部世界沒有受到影響。方法的呼叫方式完全相同:
或者,假設使用Person物件的應用程式只能接受最多10個字元的使用者名稱。我們可以在setUsername變數中新增驗證,以確保使用者名稱符合以下要求:
現在,如果傳遞給setUsername mutator的使用者名稱超過10個字符,它將自動被截斷。
相關推薦:《Python教學》
以上是如何在Java中使用Accessor和Mutator?的詳細內容。更多資訊請關注PHP中文網其他相關文章!