【发布时间】:2019-07-02 16:21:56
【问题描述】:
我基本上不会寻找有关如何做某事的答案,但我找到了如何做,但想要更多信息。希望这种问题在这里是可以的。 因为我刚刚发现了我正在修改的游戏代码,所以我不知道我应该用谷歌搜索什么。
在 Lua 中,我可以有例如:
Account = {balance = 0}
function Account.withdraw (v)
self.balance = self.balance - v
end
我可以(在另一个 lua 文件中)
function Account.withdrawBetter (v)
if self.balance > v then
self.balance = self.balance - v
end
end
.... -- 在某个函数的某个地方,带有一个 Account 实例: a1.withdraw = a1.withdrawBetter `
这种“技术”的名称是什么,以便我可以找到有关它的更多信息(可能的陷阱、性能考虑与覆盖/覆盖等)?请注意,我只为特定实例 (a1) 更改 withdraw,而不是为每个 Account 实例更改。
额外问题:任何其他具有这种功能的 oo 编程语言?
谢谢
【问题讨论】:
标签: function object lua overriding overwrite