iT邦幫忙

2022 iThome 鐵人賽

DAY 20
0

封裝是物件導向中用來實作資訊隱藏的機制,確保物件的安全,同時也可以保護資料免於不適當的被使用,比如說我設計了一個長方形的類別,可以傳入長寬計算面積,但如果傳入了錯誤的參數(例如負值的邊長),可能導致錯誤,所以如果把資料成員隱藏起來,只提供存取或運算資料成員的函式,讓物件裡面資料的修改,透過函式掌握其值得變化,可以避免產生預期外的值。
就像我們常在 ViewModel 中把 LiveData 封裝起來一樣,在這個 ViewModel 以外的類只能存取到封裝好的 user ,而不能對它原來的 _user 去進行改動。

 private var _user = MutableLiveData<List<User>>()

    val user: LiveData<List<User>>
        get() = _user

參考資料

Encapsulation


上一篇
第十九天:物件導向程式設計之繼承
下一篇
第二十一天:物件導向程式設計之多形
系列文
轉職成 Android Developer 的最後一哩路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言