Base Class and Constructor Design
Design a Class() factory that sets up metatables and new() constructors.
Goal: A Reusable Class Factory
We want a Class() function that returns a new class object with proper constructor, method lookup, and OOP semantics.
Class Factory Skeleton
The factory creates a class table with a metatable for method dispatch.
local function Class()
local cls = {}
cls.__index = cls
cls.__name = "AnonymousClass"
function cls:new(...)
local instance = setmetatable({}, cls)
if instance.init then instance:init(...) end
return instance
end
return cls
endAll lessons in this course
- Base Class and Constructor Design
- Multi-Level Inheritance
- Mixin Composition and Interface Checks
- instanceof and Type Introspection