Skip to content
github-actions[bot] edited this page Aug 23, 2024 · 1 revision

creates new class prototypes from a base
creates the __super() method and __extendee property in the class prototype

Lua
local class, extend, new = require("classjs")("class", "extend", "new");


class "Base" {
    constructor = function(self, name)
        self.Name = name;
    end,

    Test = function(self)
        return string.lower(self.Name)                            
    end,

    Type = 1
}


local Example = extend "Base" "Example" {
    constructor = function(self, name)
        self.__super(name);
    end,

    Type = 2
}


local pim = new "Example"("Pim");

print(pim.Name); -- "Pim"
print(pim.Type); -- 2
print(pim.Test()); -- "pim"

Type:

  • Function

Returns:

Sources:

Arguments:

  • base name String
    name of the class to extend from

  • name String
    name of the class

  • prototable Table
    prototype data used for the class's properties




classjs docs

Home | Lib


Keywords

πŸ›ˆ class

πŸ›ˆ extend

πŸ›ˆ new

Methods

πŸ›ˆ isa()

πŸ›ˆ getclass()

πŸ›ˆ Prototype

πŸ›ˆ new()

πŸ›ˆ __isa()

πŸ›ˆ __super()

πŸ›ˆ __name

πŸ›ˆ __instances

πŸ›ˆ __prototype

πŸ›ˆ __extendee

πŸ›ˆ __class

πŸ›ˆ PrototypeItem

πŸ›ˆ new()

πŸ›ˆ __value

πŸ›ˆ __parent

πŸ›ˆ __writable

πŸ›ˆ __configurable

πŸ›ˆ __enumerable

πŸ›ˆ Object

πŸ›ˆ defineProperties()

πŸ›ˆ defineProperty()

πŸ›ˆ entries()

πŸ›ˆ getOwnPropertyDescriptor()

πŸ›ˆ getOwnPropertyDescriptors()

πŸ›ˆ keys()

πŸ›ˆ values()


Clone this wiki locally