1.2 KiB
1.2 KiB
Classes
Basically kotlin syntax.
Create a new instance of a class
new
not required, in fact, forbidden.
val dog = Dog()
Simple class
Why'd you do this tho?
class SimpleClass
val instance = SimpleClass()
Properties & methods
class SimpleClass
{
// Properties are private by default
var String? name = ...
// Made public with `pub`
pub var String? surname = ...
// Methods are private by default
fun display_name()
{
// `$` is used instead of $this
print($name)
}
pub fun get_name() -> String?
{
$name
}
}
Static members
no
Constructor
Kotlin style
class Cat(val String name)
{
pub fun get_name() -> String
{
$name
}
}
val michifu = Cat("Michifu")
print(michifu.get_name())
With kotlin's init
block.
class Dog(val String name)
{
val Int name_length
init
{
print("Dog has been instantiated")
$name_length = name.length()
}
}
Inheritance
Kotlin style
class Animal(val String name)
{
pub fun say_name()
{
print($name)
}
}
class Cat(String name, Int lives) -> Animal(name)
Cat("Michi", 9).say_name()