namespace Class
Methods
Instance methods
-
addMethods
Class#addMethods(methods) -> Class-
methods(Object) – The methods to add to the class.
Adds methods to an existing class.
Class#addMethodsis a method available on classes that have been defined withClass.create. It can be used to add new instance methods to that class, or overwrite existing methods, after the class has been defined.New methods propagate down the inheritance chain. If the class has subclasses, those subclasses will receive the new methods — even in the context of
$supercalls. The new methods also propagate to instances of the class and of all its subclasses, even those that have already been instantiated. -
Class methods
-
create
Class.create([superclass][, methods...]) -> Class-
superclass(Class) – The optional superclass to inherit methods from. -
methods(Object) – An object whose properties will be "mixed-in" to the new class. Any number of mixins can be added; later mixins take precedence.
Creates a class.
Class.create returns a function that, when called, will fire its own
initializemethod.Class.createaccepts two kinds of arguments. If the first argument is aClass, it's treated as the new class's superclass, and all its methods are inherited. Otherwise, any arguments passed are treated as objects, and their methods are copied over as instance methods of the new class. Later arguments take precedence over earlier arguments.If a subclass overrides an instance method declared in a superclass, the subclass's method can still access the original method. To do so, declare the subclass's method as normal, but insert
$superas the first argument. This makes$superavailable as a method for use within the function.To extend a class after it has been defined, use
Class#addMethods. -
