Klass

Minimalistic class system for Lua.

License

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.

Requirements

  • Lua 5.1 to 5.3.

API Documentation

The API documentation is generated using LDoc, and is available here.

Links

Examples

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
generated by LDoc 1.4.6 Last updated 2017-09-09 22:33:19