0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

封裝是什么意思?封裝有何意義?

冬至配餃子 ? 來源:多蘭多 ? 作者:Toranto ? 2022-08-18 15:54 ? 次閱讀

封裝

封裝可以分為兩層:

第一層:類就是一個袋子,里面可以放屬性和方法。第二層:類中定義私有的屬性和方法,只有類的內(nèi)部能夠調(diào)用(間接調(diào)用),外部無法直接訪問。

Python中用雙下劃線開頭的方式將屬性和方法隱藏(設(shè)置成私有)

這里我們封裝主要指的是第二層封裝。

pYYBAGL97wmADOc5AAB4FckSBOI662.png

封裝的意義

封裝數(shù)據(jù)屬性,可以讓我們明確區(qū)分內(nèi)外,控制外部對私有屬性的操作行為。

小明:“說人話!”

pYYBAGL97yGALxP3AABDUsBG_KU504.png

從封裝的角度看,外界是無法直接訪問和操作私有屬性的,所以我們通過一個__str__函數(shù)返回顯示我們的私有屬性。

poYBAGL97zuAEKGGAAAj1b3E1aA979.pngpYYBAGL970CAHCLSAABbKMgqSqE719.png

我們嘗試操作一下私有屬性:

pYYBAGL971yAcJQQAAAcWOhA2Jw479.pngpoYBAGL972GAcRWiAAB_3lFbyBU025.png

很顯然我們無法直接進行更改,所以我們需要在內(nèi)部再設(shè)立一個方法來間接調(diào)用它。

poYBAGL9732AeJZDAACjPg0b-Kk096.pngpoYBAGL974KACQ4yAAB8bm3Gjyw767.png

當然,到了這里不出意外是有一點意外的了。有大聰明發(fā)問了:為什么我需要間接調(diào)用,我直接person1=('Lynne',18)不就好了嗎?還有,isinstance是什么東西?

我們先解決第一個問題:

是的沒錯,確實可以哈哈哈,但我們還是需要了解一下。

第二個問題:isinstance是一個用于判斷類型的函數(shù),會根據(jù)輸入進行判斷,最后返回一個bool值,True或False。通常用于if條件語句中。
其用法為:

isinstance(變量,類型)

pYYBAGL976OAFg_7AABI087u8uI839.pngpYYBAGL976iATrB4AABpLkTekDc873.png

其次,封裝方法可以隔離復(fù)雜度。

舉個栗子:假如我們?nèi)ャy行取款,那么取款的操作大致就包括輸入密碼,輸入取款金額,打印流水,最后退出的四個操作。

但是對于使用者來說,我們只需要讓其知道有取款這一功能即可,所有的方法統(tǒng)一包裝起來,僅向外展示一個包裝好的功能。第一,其余的功能我們可以隱藏起來;第二,隔離了復(fù)雜度,同時也提升了安全性。

poYBAGL977-Af2sVAACvA_l78vg458.png




審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4801

    瀏覽量

    84850
  • 封裝元件
    +關(guān)注

    關(guān)注

    1

    文章

    4

    瀏覽量

    6658
收藏 人收藏

    評論

    相關(guān)推薦

    QFN封裝和DFN封裝有何區(qū)別?

    DFN封裝和QFN封裝作為技術(shù)先進的芯片封裝形式,具有許多共同點。首先,它們都屬于無引腳表面貼裝封裝結(jié)構(gòu),這使得它們在現(xiàn)代電子制造中具有極高的集成度和靈活性。
    的頭像 發(fā)表于 12-30 11:23 ?354次閱讀

    sop框架焊點推力sop封裝 二極管sot封裝推拉力測試機測試參數(shù)設(shè)置

    封裝
    力標精密設(shè)備
    發(fā)布于 :2024年12月10日 17:28:52

    先進封裝有哪些材料

    ? 半導體封裝測試構(gòu)成了晶圓制造流程的后階段,緊隨芯片制造步驟之后。此階段涉及將制造完成的晶圓進行封裝與測試,進而根據(jù)實際需求與功能特性,將通過測試的晶圓加工成芯片。封裝的主要四大目標包括:保護芯片
    的頭像 發(fā)表于 12-10 10:50 ?432次閱讀
    先進<b class='flag-5'>封裝有</b>哪些材料

    漢思新材料:芯片封裝爆光--芯片金線包封膠 #芯片封裝 #電子膠 #芯片膠

    芯片封裝
    漢思新材料
    發(fā)布于 :2024年11月29日 11:07:51

    請問PCM2912AE2PJTR與PCM2912APJTR,兩個型號尾綴不同之處(E2)有何意義及差別?

    請問PCM2912AE2PJTR與PCM2912APJTR,兩個型號尾綴不同之處(E2)有何意義及差別?急需解答迷津,不勝感激
    發(fā)表于 10-28 08:10

    R2000 規(guī)格參數(shù) DO-41封裝#電路知識 #電工知識

    封裝
    杰克船長6262
    發(fā)布于 :2024年10月26日 11:50:51

    芯片封裝曝光-芯片底部填充膠 #芯片封裝 #電路保護

    芯片封裝
    漢思新材料
    發(fā)布于 :2024年10月15日 16:25:32

    在風華貼片電容中,0402封裝有什么特點?

    在風華貼片電容中,0402封裝作為一種微小的封裝尺寸,具有一系列顯著的特點和優(yōu)勢。以下是對0402封裝特點的詳細解析: 首先,0402封裝的尺寸是其最直觀的特點。這種
    的頭像 發(fā)表于 09-27 17:06 ?552次閱讀
    在風華貼片電容中,0402<b class='flag-5'>封裝有</b>什么特點?

    op07c和op37的封裝有哪幾種?

    咨詢op07c和op37的封裝有哪幾種
    發(fā)表于 09-25 08:24

    芯片封裝曝光-芯片填充膠 #芯片封裝 #芯片膠 #PCB點膠 #芯片點膠

    芯片封裝
    漢思新材料
    發(fā)布于 :2024年08月29日 15:17:19

    芯片封裝曝光-芯片包封膠#芯片膠#

    芯片封裝
    漢思新材料
    發(fā)布于 :2024年08月15日 14:46:06

    請問LF442這款器件有貼片(SOIC)封裝的嗎?

    請問LF442這款器件有貼片(SOIC)封裝的嗎?沒有請推薦一款指標相當、封裝有SOIC來替換,其它要求低功耗(小于1mA),±5V----±12V伏供電,其它指標參考LF442器件手冊。
    發(fā)表于 08-06 07:01

    ic封裝有哪些(常見的IC封裝形式大全)

    常見的IC封裝形式大全
    發(fā)表于 07-16 11:41 ?2次下載

    芯片點膠加工#芯片封裝 #芯片

    芯片封裝
    漢思新材料
    發(fā)布于 :2024年04月17日 10:54:20

    常見的電子元器件封裝有哪些?

    電子元器件封裝是指將電子元器件(如集成電路、二極管、晶體管等)封裝在外殼中,以保護元器件免受機械損傷和環(huán)境影響。
    的頭像 發(fā)表于 01-24 18:13 ?2773次閱讀