Lua面向对象编程学习笔记
对于这种问题,Lua 提供一种“接受者”的解决方法,即额外添加一个参数 self 来表示对象本身:这样就不怕对象 Role 被“全局污染”,因为构造了一个子对象 r,并以参数的方式传入,以供其方法调用操作。对于这种把对象本身以参数的方式传入对象方法里的写法,Lua 提供了一种更优雅的写法,把点号(.)替换为冒号(:),这样在方法定义或调用时,便可隐藏 self 参数。Lua 里的原型特性主要使用元表的 __index 事件来实现,这样当调用对象没定义的方法时,会向其元表的 __index 键(事件)查找。因此,想重定义从父类 Role 继承来的方法,在类 Priest 上定义即可。
下载地址
用户评论