【Java貓說】數據封裝的好處(Getter、Setter)

閱讀本文約「1.2分鐘」java


「老王忘記把他的貓封裝起來,後來他的貓被壓平了......」segmentfault

這是一個程序界的鬼故事,你忘記對你的數據進行封裝,那麼有一天也會被人處理掉了。安全

建立Getter和Setter給全部的實例變量,並尋求某種方法強制其餘程序都必須經過Setter來設定變量而不是直接的存取。設計

也就是封裝,其會對咱們的實例變量加上絕對領域,所以沒有人可以惡搞咱們的變量。get

且大部分的實例變量值都有一個適當的範圍,好比身高就不能是負數,佛敲牆也不能3分鐘就作完。io

強波其餘程序必定要通過Setter,如此Setter就可以檢查參數並判斷是否能夠執行。setter能夠退回不合理的值,或是拋出Exception、或者本身進行小數點的動做,重點是你能夠在setter中執行任何動做,可是若是直接暴露實體變量就沒有辦法了。效率

固然你會說大部分的setter其中也是沒有什麼邏輯代碼的,其實與getter同樣,其好處是你過後能夠改變想法卻不會須要改變其餘部分的程序。變量

封裝的優勢就是可以讓你三心二意卻又不會傷害別人,直接存儲變量的效率是比不上這個好處的。程序

理性的說明下,隱藏數據既使用公有和私有這兩個存取修飾符,將實例變量標記爲private。將getter和setter標記爲public。方法

固然獲取你某天有了足夠的java設計與編寫經驗後,你會有新的作法,可是如今仍是繼續使用這種維持安全的方式把。


本文已轉載我的技術公衆號:UncleCatMySelf
歡迎留言討論與點贊
上一篇推薦:【Java貓說】關於Java方法及傳參的一些問題下一篇推薦:

相關文章
相關標籤/搜索