Lua 的 私有性

2021-07-03 05:34:58 字數 764 閱讀 1137

今天在寫揹包類時,如果是c++的話,揹包裡面的道具無疑應該是揹包類私有的,揹包類應該提供對道具的增刪查操作,而避免外部直接訪問道具資料,所以想到用lua實現對道具的封裝。但是事與願違。

lua 是通過閉包來實現私有的,如下:

function

newaccount (initialbalance)

local self =

local withdraw = function (v)

self.balance = self.balance - v

endlocal extra = function ()

if self.balance > self.lim then

return self.balance*0.10

else

return

0end

endlocal deposit = function (v)

self.balance = self.balance + v

endlocal getbalance = function ()

return self.balance + extra() --[此處非self.extra()]

end return

end

如果一定要實現私有性,就要放棄lua的繼承(self)性,我選擇放棄,轉而使用折衷的辦法來處理資料的私密性,就是學習quick的**風格,將私有的變數和方法用命名後加下劃線表示。

lua學習筆記day13 物件的私有性

lua中構造類的時候,有些函式是提供給類中的方法使用的,並不想對外提供。這個時候就需要通過一定的方式,讓外部無法訪問這個類這些私有方法。在之前的繼承和多繼承中,是通過 index的方法達到繼承的目的,但是這樣的方式會繼承類內部所有的內容。為了保護私有部分,需要換一種繼承方式。如下 function ...

Lua區分公有私有介面

lua區分公有私有介面 金慶的專欄 2017.8 lua語言沒有提供public,private的概念,所有模組或類中的介面都是公有的。可以通過注釋來區分公有私有介面。ldoc 提供了乙個 section 標籤,可用作此功能 test module.module my mod local m pub...

具有性別標籤的資料集

標籤 性別和年齡。描述 該資料集只使用第二強人臉檢測值低於閾值的 為了使網路對所有年齡都具有同等的歧視性,對培訓的年齡分布進行了均衡。標籤 性別 在野外。資料規模 總數26580,主題數目2284。標籤 年齡 性別和種族。資料規模 總數為15,699左右。標籤 性別 標籤和年齡等。標籤 性別。標籤 ...