Object.lua 是项目中用于在 Lua 语言中实现面向对象编程(OOP)的核心模块。它定义了一个基础的 Object 类,提供了一种轻量级的类系统,支持继承 extend、接口实现implement、类型检查is等功能。

image.png

init 定义了一个空方法,用于对象初始化,在 __call 中被调用。子类通过重写 init 方法来实现自己的初始化逻辑。
extend 创建一个新类,继承父类中的元方法(__xxx)。
implement 将一个或多个接口类的函数混入当前类,不会覆盖已有的方法。
is 类型检查
__tostring
__call 构造函数

https://github.com/qiekn/snakerx/blob/main/engine/game/object.lua