
中的私有成員(2)。處于實際的運用當中, 該如何去施行單下劃線以及雙下劃線的應用呢? 首先來瞧一瞧單下劃線。·其一, 單下劃線用于表示受保護的成員, 借此提醒使用者, 這些成員屬于內部實現(xiàn)的一部分, 不應被隨意訪問。第一, 存在這樣一種情況, 即能夠借助于子類進行訪問進而實現(xiàn)修改, 然而針對此操作須以審慎的態(tài)度來予以運用。第二, 雙下劃線所適用的范疇乃是那些有著確切嚴格隱藏需求的私有成員, 其目的在于防止子類或者外部因素產生干擾。第一, 運用名稱改寫機制, 第二, 能夠于類內部實現(xiàn)安全使用, 第三, 進而降低命名沖突所帶來的風險。再次針對屬性裝飾器以及私有成員來看一個綜合性的示例, 在這個示例里定義一個class, 也就是一個類, 在初始化該類之際定義了兩個私有屬性, 它們分別是那個以雙下劃線_起始的owner, 其中一個, 接著用, 在此處 一個屬性裝飾器, 定義著owner, 還有一個, 定義這兩個方法。然后用了一個方法來校驗是不是小于0的數(shù)看一下具體的用法。首先, 進行實例化, 其結果為(Alice, 1000) , 接著, 輸出owner, 則這種情況是不存在問題的?!と缓笤佥敵鲇囝~也沒有問題。接著再去調用一回(500), 將它的余額予以加500這一操作, 其前提狀況是它得大于0。要是輸入金額小于或者等于0了, 在此處會拋出一個錯誤。·此刻給出一個數(shù)值為500的量, 隨后再將之進行輸出, 進而查看一下余額呈現(xiàn)為1500, 不存在任何問題。·然后這里邊是給它增加了一個500。有另外一個辦法, 此辦法是為其削減一個對應的數(shù)額。削減的數(shù)額當中亦存有一項驗證, 倘若大于當下的余額, 則拋出一個差錯, 不能講當下的余額是1500, 而要為其減去2000, 在此情形下它會出現(xiàn)錯誤?!砜匆幌?(200)輸出.余額1300沒有問題。如果輸入一個并非正常的數(shù), 去查看它會呈現(xiàn)怎樣的反應呢? 依舊是先進行try操作, 令其等于負一百, 以某種方式作為e, 然后打印出e。查看一下, 輸出一筆余額, 其不能是一個負數(shù), 在這種時候, 提示了一條錯誤的信息, 這條錯誤源自于的方法, 此方法運用的是屬性裝飾器中的方法, 之后給它賦予一個值, 該值是小于0的, 正因如此, 這個地方拋出了一個錯誤。要是去直接訪問私有的屬性, 來瞧一瞧, print, 我打算直接瞅一瞅print(.), 當作e: print(e), 它給出提示說沒有這個屬性, Ban這是訪問私有屬性了, 導致引發(fā)了這樣一個錯誤。憑借這種途徑能夠達成對數(shù)據(jù)的封裝, 保證類的使用者借助定義好的接口, 像是和的方法與對象展開交互, 而不會徑直去修改私有的屬性。