Object(from, [mixin...])

Declare a new Object type using the from prototype.
The Object() function implements multilevel single inheritance object oriented programming for Lua.



A table or an other previously declared object that serves as a prototype to define a new custom type.


One or more optional tables that contains methods, to extend the object capabilities.

A mixin can also be viewed as an interface with implemented methods.

Return value

Returns the new defined object type.


Polygon = Object { sides = 0 } -- outputs "Object" print(type(Polygon))