封裝的意義和操作

封裝的意義和操作

1.學(xué)習(xí)了面向?qū)ο蠛螅又鴮W(xué)習(xí)了面向?qū)ο蟮姆庋b和操作,面向?qū)ο蟮姆庋b顧名思義就是把一堆零散的數(shù)據(jù)集成到一起進(jìn)行封裝,將一些敏感的數(shù)據(jù)進(jìn)行封裝,不讓外界直接訪問,通過Set/Get方法來實(shí)現(xiàn)間接的訪問數(shù)據(jù),封裝好的數(shù)據(jù)具有安全的特性,通過對(duì)Set/Get的方法的使用可以添加限制條件,達(dá)到對(duì)敏感數(shù)據(jù)訪問的阻止和控制的目的。

2.實(shí)現(xiàn)步驟,先聲明一個(gè)類,通過class來聲明一個(gè)類,接著初始化這個(gè)類,使用__init__來初始化類的屬性。Def __init__(self):這樣來使用初始化,接著給初始化的數(shù)據(jù)添加屬性。Def__init__(self, name, age, sex):

Self.name = name

Self.age = age

Self.sex = sex

通過這種方法來是用并且將一些屬性添加進(jìn)類中,方便來回調(diào)用,讓代碼復(fù)用率高,可讀性增加。通過這種聲明添加的屬性,還并不能實(shí)現(xiàn)限制訪問的操作,在原有基礎(chǔ)上使用雙下劃綫,來實(shí)現(xiàn)對(duì)數(shù)據(jù)的控制和限制訪問。

Class Person:

Def __init__(self, name, age, sex):

Self.__name = name

Self.__age = age

Self.__sex = sex

通過加上雙下劃綫,來使此封裝的數(shù)據(jù)不能被別人不經(jīng)允許就使用。雙下劃綫代表了私有化,而單下劃線也是代表了私有化,單下劃線更像是一種約定,這種約定隨時(shí)都有可能打破,雙下劃綫卻是一種強(qiáng)制,強(qiáng)制不能訪問,除非使用Set/Get來間接訪問達(dá)到想要進(jìn)行的操作。__init__后面必須跟__init__(self)這是一種規(guī)定,但是傳遞參數(shù)時(shí),Python會(huì)自動(dòng)的將Self指向自己,傳遞的參數(shù)和Self并不沖突,但是Self卻是必不可少的,在學(xué)面向?qū)ο髸r(shí),最重要的就是數(shù)據(jù)封裝,把每個(gè)封裝的函數(shù)進(jìn)行相互調(diào)用,是面向?qū)ο罄锩鏀?shù)據(jù)封裝的優(yōu)勢(shì),可以很快的而且減少代碼的復(fù)用率的情況下最好的展現(xiàn)出來想要的效果,通過訪問定義類中的函數(shù),就可以完成一系列的操作。

3.比如一輛汽車,他的顏色,車輪,外觀顏色都是類,而通過這些類可以實(shí)際的將類實(shí)體為對(duì)象,這個(gè)對(duì)象就是XX的汽車,通過汽車的行為和一些屬性來確定這個(gè)對(duì)象,再將對(duì)象中的功能,顏色等,抽象出來就是類,比如用類進(jìn)行定義,將一些汽車的屬性和一些行為封裝到這個(gè)定義的類中,然后再將汽車實(shí)體化為對(duì)象,這樣就可以通過對(duì)函數(shù)的調(diào)用來用面向?qū)ο蟮姆椒▽?shí)現(xiàn)這些,比面向過程中雖然看起來麻煩了,但是實(shí)際上確是方便了,可以對(duì)一段代碼賦予指揮者,讓這段代碼替你干任何事,再也不用自己親自去把所有的事情都辦完,只要找到對(duì)象,抽象出來類,然后將數(shù)據(jù)封裝,這樣就可以直接讓這個(gè)代碼自己去完成很多事情。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容