本文實(shí)例講述了Python封裝原理與實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
【封裝】
隱藏對(duì)象的屬性和實(shí)現(xiàn)細(xì)節(jié),僅對(duì)外提供公共訪問(wèn)方式。
【好處】
1. 將變化隔離;
2. 便于使用;
3. 提高復(fù)用性;
4. 提高安全性;
【封裝原則】
1. 將不需要對(duì)外提供的內(nèi)容都隱藏起來(lái);
2. 把屬性都隱藏,提供公共方法對(duì)其訪問(wèn)。
私有變量和私有方法
在python中用雙下劃線開(kāi)頭的方式將屬性隱藏起來(lái)(設(shè)置成私有的)
私有變量
#其實(shí)這僅僅這是一種變形操作 #類(lèi)中所有雙下劃線開(kāi)頭的名稱(chēng)如__x都會(huì)自動(dòng)變形成:_類(lèi)名__x的形式: class A: __N=0 #類(lèi)的數(shù)據(jù)屬性就應(yīng)該是共享的,但是語(yǔ)法上是可以把類(lèi)的數(shù)據(jù)屬性設(shè)置成私有的如__N,會(huì)變形為_(kāi)A__N def __init__(self): self.__X=10 #變形為self._A__X def __foo(self): #變形為_(kāi)A__foo print('from A') def bar(self): self.__foo() #只有在類(lèi)內(nèi)部才可以通過(guò)__foo的形式訪問(wèn)到. #A._A__N是可以訪問(wèn)到的,即這種操作并不是嚴(yán)格意義上的限制外部訪問(wèn),僅僅只是一種語(yǔ)法意義上的變形
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。