400-650-7353
您所在的位置:首頁 > IT干貨資料 > python > 【Python基礎(chǔ)知識(shí)】Python中的封裝有什么作用

【Python基礎(chǔ)知識(shí)】Python中的封裝有什么作用

  • 發(fā)布: python培訓(xùn)
  • 來源:python干貨資料
  • 2020-03-04 19:05:18
  • 閱讀()
  • 分享
  • 手機(jī)端入口

日常生活中可以看到很多的汽車,汽車包括車輪、發(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ù)。

 

文章“【Python基礎(chǔ)知識(shí)】Python中的封裝有什么作用”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2020/48444.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營銷互聯(lián)網(wǎng)營銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營全域電商運(yùn)營
  • 軟件測試軟件測試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁設(shè)計(jì)網(wǎng)頁設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開發(fā)智能機(jī)器人
 

快速通道fast track

近期開班時(shí)間TIME