【Java】《Java面向对象编程的三大特性》阅读笔记
前言
偶然讀到這篇文章(《Java面向?qū)ο缶幊痰娜筇匦浴罚雭磉@也算論文?這種還不滿網(wǎng)絡(luò)都是?讀罷覺得寫得還真不錯,這里以我愚見,簡單點(diǎn)評一二,不足之處還望指教。
閱讀筆記
筆記1
文中有一句是這樣說的:“將屬性進(jìn)行私有化操作,對每個屬性創(chuàng)建 set 和 get 方法,如果這里存在一個帶參數(shù)的構(gòu)造函數(shù),以此同時就必須存在一個不帶參數(shù)的構(gòu)造函數(shù)。”
評注1:其實(shí)未必總要開set和get方法。
初學(xué)者可能剛接觸的時候被告知寫set和get,但其實(shí)set的存在可能破壞封裝。
舉個簡單的例子,比如每個學(xué)生Student類都有一個s_id,這個屬性在數(shù)據(jù)庫表中對應(yīng)著主鍵,應(yīng)該是唯一且不可變的。如果我們簡單地開一個public的set和一個public的get,就可能導(dǎo)致外部隨意修改本不可變的s_id屬性。
評注2:其實(shí)未必存在一個不帶參數(shù)的構(gòu)造函數(shù)。
有一說一,真的不必。只是,為了簡便起見,可以都自動生成的。
另說,如果沒指定構(gòu)造器,默認(rèn)有一個無參數(shù)構(gòu)造器;如果存在了帶參數(shù)的構(gòu)造函數(shù),就沒有默認(rèn)的這個無參數(shù)構(gòu)造器了。
再說,如果注意構(gòu)造器參數(shù)不全甚至沒有,就導(dǎo)致我們想初始化某些屬性就必須再指定set方法。
筆記2
- 封裝的優(yōu)點(diǎn)
(1)提高了安全性,
總結(jié)
以上是生活随笔為你收集整理的【Java】《Java面向对象编程的三大特性》阅读笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据结构与算法】配对堆的Java实现
- 下一篇: java美元兑换,(Java实现) 美元