To declare a class, use the class keyword:
class Person(name) {
// Property
@name = name
// Method
@greet() {
puts 'Hi, I am ' + @name
}
}
This will create a class named Person, whole of class body is the constructor and param name is its parameter.
@name is a property, @greet is a method instance of this class.
There is no "this", just access class members through @.
To create an instance of the Person, just call it:
var p = Person('John')
Now, access the members of this instance:
You can also declare a class without param in initializer.
The class name should start with an uppercase character to distinguish it from the function name.
We do not support to declare static members in class body directly. Fortunately, a class is an object, so you can assign properties for it.
Static properties
Create a base class:
Extend superclass:
Override method:
Like a function, you cannot declare a class in non-top-level of code.