溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

在Java中使用Accessor和Mutator的方法

發(fā)布時(shí)間:2020-08-21 11:46:05 來(lái)源:億速云 閱讀:1749 作者:小新 欄目:編程語(yǔ)言

這篇文章主要介紹在Java中使用Accessor和Mutator的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

實(shí)現(xiàn)數(shù)據(jù)封裝的一種方法是使用accessors 和Mutators。accessors 和Mutators的作用是返回和設(shè)置對(duì)象狀態(tài)的值。讓我們學(xué)習(xí)如何用Java編寫(xiě)accessors 和Mutators。例如,我們將使用一個(gè)Person類(lèi),它的狀態(tài)和構(gòu)造函數(shù)已經(jīng)定義:

在Java中使用Accessor和Mutator的方法

accessor方法

accessors 方法用于返回私有字段的值。它遵循一種命名方案,將“get”前綴放在方法名稱(chēng)的開(kāi)頭。例如,讓我們?yōu)閒irstname、middleNames和lastname添加Mutator方法:

這些方法總是返回與其對(duì)應(yīng)的私有字段相同的數(shù)據(jù)類(lèi)型(例如String),然后只返回該私有字段的值。

我們現(xiàn)在可以通過(guò)Person對(duì)象的方法訪問(wèn)它們的值:

Mutator方法

使用mutator方法設(shè)置私有字段的值。它遵循一種命名方案,將單詞“set”前綴放在方法名稱(chēng)的開(kāi)頭。例如,讓我們?yōu)榈刂泛陀脩裘砑觤utator字段:

這些方法沒(méi)有返回類(lèi)型,并且接受與其對(duì)應(yīng)的私有字段相同的數(shù)據(jù)類(lèi)型的參數(shù)。然后使用該參數(shù)設(shè)置該私有字段的值。

現(xiàn)在可以修改Person對(duì)象中的地址和用戶名的值:

為什么使用accessors 和Mutator?

我們可以將類(lèi)定義的私有字段更改為public,并獲得相同的結(jié)果。重要的是要記住,我們希望盡可能地隱藏對(duì)象的數(shù)據(jù)。這些方法提供的額外緩沖區(qū)允許我們:

改變數(shù)據(jù)在幕后的處理方式。

對(duì)字段設(shè)置為的值進(jìn)行驗(yàn)證。

假設(shè)我們決定修改存儲(chǔ)中間名稱(chēng)的方式。我們現(xiàn)在可以使用字符串?dāng)?shù)組而不是一個(gè)字符串:

對(duì)象內(nèi)部的實(shí)現(xiàn)已經(jīng)更改,但是外部世界沒(méi)有受到影響。方法的調(diào)用方式完全相同:

或者,假設(shè)使用Person對(duì)象的應(yīng)用程序只能接受最多10個(gè)字符的用戶名。我們可以在setUsername變量中添加驗(yàn)證,以確保用戶名符合以下要求:

現(xiàn)在,如果傳遞給setUsername mutator的用戶名超過(guò)10個(gè)字符,它將自動(dòng)被截?cái)唷?/p>

更多相關(guān)資訊:

java Lombok之@Accessors用法

Java使用acquireFieldAccessor的方法

以上是在Java中使用Accessor和Mutator的方法的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI