IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
日常生活中可以看到很多的汽車,汽車包括車輪、發(fā)動(dòng)機(jī)、車架等零部件?梢栽谲嚰苌习惭b車輪,然后安裝發(fā)動(dòng)機(jī),最后安裝其他零件,刷漆。就形成了汽車。這個(gè)過程,是把各種零件放到車架上的過程。但思考一下,對于開車的人,需要關(guān)注車的內(nèi)部結(jié)構(gòu)嗎?答案顯然是否定的。汽車對外提供了方向盤、油門等去調(diào)用內(nèi)部結(jié)構(gòu)從而進(jìn)行行駛。由這個(gè)例子可以總結(jié)出,汽車就是各種零件經(jīng)過封裝得到的產(chǎn)物,同時(shí)提供給駕駛?cè)瞬倏仄囆枰慕涌谠O(shè)備。這就是生活中的封裝。
我們可以看到生活中的封裝有很多好處。具體有如下的幾條好處:
①隱藏了實(shí)現(xiàn)細(xì)節(jié),在使用時(shí)沒必要關(guān)注具體實(shí)現(xiàn)。
②安全性好,內(nèi)部細(xì)節(jié)隱藏了,就不能隨意破壞。
③對外提供接口方便使用。
④可維護(hù)性好,方便修改實(shí)現(xiàn),修改完成后,對外接口不變,對用戶使用無影響。
⑤方便重用,任何一個(gè)會(huì)開車的人都可以駕駛汽車,只要對外的接口相同就行了。
總之,封裝就是將抽象得到的屬性和方法形成“類”,并將類內(nèi)部信息進(jìn)行隱藏,對外公開接口的機(jī)制。封裝限制從類外訪問,從而提升代碼安全性和可維護(hù)性。
封裝的內(nèi)涵是把抽象得到的屬性和方法進(jìn)行了封裝,對于方法,隱藏了具體的實(shí)現(xiàn),提供了方法名供使用者調(diào)用。對于成員變量也進(jìn)行隱藏,通過方法對外提供訪問接口。通過封裝,限制了直接訪問成員變量,通過方法,增加驗(yàn)證邏輯,提高了安全性和可維護(hù)性。
封裝的外延是按照內(nèi)聚性、一致性、封裝性、清晰性、完整性進(jìn)行類的封裝。
內(nèi)聚性就是類應(yīng)該描述一個(gè)單一的實(shí)體。例如,學(xué)生姓名和教師所帶班級(jí)不是單一實(shí)體的屬性,不能組合在一個(gè)類中。
一致性就是類、成員變量、方法名要有意義,并且順序是成員變量、構(gòu)造方法、普通方法。
封裝性就是類中成員變量是私有屬性,通過getter/setter訪問。
清晰性是指類的結(jié)構(gòu)應(yīng)該是易于解釋和理解的。
完整性是需要充分考慮多種不同用戶設(shè)計(jì),應(yīng)該能通過屬性和方法提供多種方案以適應(yīng)用戶不同需求。例如,字符串中有很多方法,同時(shí)這些方法可以組合完成各種任務(wù)。
>>本文地址:http://liujunjsxg.cn/zhuanye/2020/48444.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?