Classes
<inheritances> ::= <name> "," <inheritances> | <name>
<field> ::= <modifiers> <variable_declaration>
<function_body> ::= "{" <statements> "}"
<get_block> ::= "get" (<function_body> | ";")
<set_block> ::= "set" (<function_body>) | ";")
<get_and_set_block> ::= <get_block> <set_block>
<property> ::= <modifiers> "prop" <name> "{" <get_block> | <get_and_set_block> "}"
<class_members> ::= <field> | <property>
<class_declaration> ::= <modifiers> "class" <name> (("implements" <inheritances>) | "extends" <typename>)? "{" <class_members> "}"public abstract class Animal {
}
public class Mammal extends Animal {
}
public class Bird extends Animal {
}
public class Dog extends Mammal {
}
public class Kiwi extends Bird {
}
func main() {
let animal = Dog::new();
if animal is Dog {
print("Wuff");
}
else {
print("I don't know how the animal communicate");
}
}The implement construct
Exercices
Last updated