锐客直播_锐客直播app官方正版下载_锐客直播直播视频在线观看免费版下载

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

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

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

日常生活中可以看到很多的汽車(chē),汽車(chē)包括車(chē)輪、發(fā)動(dòng)機(jī)、車(chē)架等零部件�?梢栽谲�(chē)架上安裝車(chē)輪,然后安裝發(fā)動(dòng)機(jī),最后安裝其他零件,刷漆。就形成了汽車(chē)。這個(gè)過(guò)程,是把各種零件放到車(chē)架上的過(guò)程。但思考一下,對(duì)于開(kāi)車(chē)的人,需要關(guān)注車(chē)的內(nèi)部結(jié)構(gòu)嗎?答案顯然是否定的。汽車(chē)對(duì)外提供了方向盤(pán)、油門(mén)等去調(diào)用內(nèi)部結(jié)構(gòu)從而進(jìn)行行駛。由這個(gè)例子可以總結(jié)出,汽車(chē)就是各種零件經(jīng)過(guò)封裝得到的產(chǎn)物,同時(shí)提供給駕駛?cè)瞬倏仄?chē)需要的接口設(shè)備。這就是生活中的封裝。

我們可以看到生活中的封裝有很多好處。具體有如下的幾條好處:

①隱藏了實(shí)現(xiàn)細(xì)節(jié),在使用時(shí)沒(méi)必要關(guān)注具體實(shí)現(xiàn)。

②安全性好,內(nèi)部細(xì)節(jié)隱藏了,就不能隨意破壞。

③對(duì)外提供接口方便使用。

④可維護(hù)性好,方便修改實(shí)現(xiàn),修改完成后,對(duì)外接口不變,對(duì)用戶使用無(wú)影響。

⑤方便重用,任何一個(gè)會(huì)開(kāi)車(chē)的人都可以駕駛汽車(chē),只要對(duì)外的接口相同就行了。

總之,封裝就是將抽象得到的屬性和方法形成“類(lèi)”,并將類(lèi)內(nèi)部信息進(jìn)行隱藏,對(duì)外公開(kāi)接口的機(jī)制。封裝限制從類(lèi)外訪問(wèn),從而提升代碼安全性和可維護(hù)性。

封裝的內(nèi)涵是把抽象得到的屬性和方法進(jìn)行了封裝,對(duì)于方法,隱藏了具體的實(shí)現(xiàn),提供了方法名供使用者調(diào)用。對(duì)于成員變量也進(jìn)行隱藏,通過(guò)方法對(duì)外提供訪問(wèn)接口。通過(guò)封裝,限制了直接訪問(wèn)成員變量,通過(guò)方法,增加驗(yàn)證邏輯,提高了安全性和可維護(hù)性。

封裝的外延是按照內(nèi)聚性、一致性、封裝性、清晰性、完整性進(jìn)行類(lèi)的封裝。

內(nèi)聚性就是類(lèi)應(yīng)該描述一個(gè)單一的實(shí)體。例如,學(xué)生姓名和教師所帶班級(jí)不是單一實(shí)體的屬性,不能組合在一個(gè)類(lèi)中。

一致性就是類(lèi)、成員變量、方法名要有意義,并且順序是成員變量、構(gòu)造方法、普通方法。

封裝性就是類(lèi)中成員變量是私有屬性,通過(guò)getter/setter訪問(wèn)。

清晰性是指類(lèi)的結(jié)構(gòu)應(yīng)該是易于解釋和理解的。

完整性是需要充分考慮多種不同用戶設(shè)計(jì),應(yīng)該能通過(guò)屬性和方法提供多種方案以適應(yīng)用戶不同需求。例如,字符串中有很多方法,同時(shí)這些方法可以組合完成各種任務(wù)。

 

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

>>本文地址:http://uj2y2uok.com/zhuanye/2020/48444.html

THE END  

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

1 您的年齡

2 您的學(xué)歷

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

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

快速通道fast track

近期開(kāi)班時(shí)間TIME