js對象私有屬性 為什么java需要getter/setter來獲取私有屬性?
為什么java需要getter/setter來獲取私有屬性?好問題。我來回答這個問題。。例如,張三是一個對象,而張三的錢包是他的屬性之一。當然,為了安全起見,張三把錢包藏起來,只有他自己才能看到。換句
為什么java需要getter/setter來獲取私有屬性?
好問題。我來回答這個問題。
。
例如,張三是一個對象,而張三的錢包是他的屬性之一。當然,為了安全起見,張三把錢包藏起來,只有他自己才能看到。換句話說,他的錢包是私人的。張三還有一個兒子:小三子。有了小三子,張三需要給小三子提供一個領(lǐng)取生活費的途徑,而不是直接把錢包暴露給小三子。因為,直接接觸小三子,會出現(xiàn)以下問題:
1。張三控制不住小三子的拿錢,萬一他買了游戲,他的皮膚會變差的。張三有多少錢可以被小三子看到,但很多時候,張三不想被小三子看到(比如私房錢)。小三子長大后,他會給張三生活費和錢,我不知道我有多少本,就像我得了老年癡呆癥一樣。
總之,通過方法操作屬性的根本目的是保護自己的私有屬性不被外部直接訪問。
java里一個私有的屬性如何在其他類里面進行訪問?
主要有兩種方法:第一種方法是為類中的私有屬性提供get和set方法。
Second pin method
如果無法提供get和set方法,請使用反射來獲取它們。Java中的封裝可以被反射打破。
js放在構(gòu)造函數(shù)里面的私有方法,怎么在原型里面調(diào)用?
首先,在prototype對象中創(chuàng)建所有方法。不管生成多少實例,內(nèi)存中只有一個方法,但該方法不能訪問私有變量。其次,這種方法可以訪問私有變量,這不利于派生新實例不能訪問超類的私有變量和方法。另一種方法是通過關(guān)閉包來設(shè)置私有變量。新手,不要犯錯誤,多給點指導(dǎo)。最近,我在研究JS設(shè)計模式