類包含的例項字段屬於某個類型別,這種情況相信大家都見到過。通常,該例項字段設定為private
,類方法中含有對其get,set方法。
有個類將其他類作為自己的私有屬性,該類沒有使用set方法,私有屬性類物件居然就發生了變化,可不可怕,例子如下
public
class
test
}class
peoplex
public
void
setaccount
(account account)
public account getaccount()
}class
account
public
account()
public
void
setbalance
(long balance)
public
long
getbalance()
}
peoplex提供了乙個私有物件屬性的引用,這裡指的就是cracker
示意 圖如下
原因了解了,那怎麼解決呢?
類的建構函式 私有屬性,私有屬性不 絕對 私有
建構函式及其他 class a def init self self.hour 0 self.minute 0 init 為類的建構函式,每次建立類物件時,都會執行建構函式。建構函式 init 會初始化類物件屬性,並且返回none。python類還可以定義其他的特殊方法,這些方法之前 之後都會有雙下...
python 私有屬性和視為私有屬性
python模組中的視為私有屬性 總的來說,python中有 幾種特殊的屬性 在python模組中,我們經常會見到 x 其中後面兩種 x 是習慣上的私有變數,我們不應該在外部使用它,而是應該通過呼叫內部函式來使用,但這裡是不應該而不是不能,所以要靠我們自覺遵守這個標準,另外,在自定義模組的時候,也要...
物件的私有屬性
coding utf 8 1.物件的私有屬性 宣告乙個物件的私有屬性 私有屬性只能在類宣告的範圍內使 宣告私有屬性值,需要在屬性名前新增 雙下劃線 class people object description可以寫一些類的描述 def init self,name self.name name 宣...