Minimalistic class system for Lua.
This program is free software released under a permissive license. You can
use it both in Free and closed source software. See LICENSE.md
for details.
- Lua 5.1 to 5.3.
The API documentation is generated using LDoc.
- Download development version:
.zip
,.tar.gz
. - Project page at Github.
local klass = require "klass"
local Base = klass:extend("Base")
Base.x = 1
function Base:init(x)
self.x = x
end
function Base:__tostring()
return self.__name..": "..tostring(self.x)
end
local Derived = Base:extend("Derived")
Derived.x = 3
local t1 = Base()
local t2 = Base(2)
local t3 = Derived()
local t4 = Derived(4)
local t5 = Derived(t1)
print(t1) --> Base: 1
print(t2) --> Base: 2
print(t3) --> Derived: 3
print(t4) --> Derived: 4
print(t5) --> Derived: Base: 1
print(t5.x) --> Base: 1