継承
<- で親オブジェクトを設定します.下の例では,student オブジェクトが person を継承します.
person = {
age = 24;
printAge = this -> println(this::age);
};
student = {
age = 17;
};
person <- student; // student の親を person にする
student.printAge; // 17
person::printAge student; // student.printAge と同じ
オブジェクトの宣言と継承を一度に行います.
person = {
age = 24;
printAge = this -> println(this::age);
};
student = person <- {
age = 17;
};
student.printAge; // 17
person.printAge; // 24
オブジェクトを返す関数 (コンストラクタ) を作ることで,クラスのような振る舞いをするオブジェクトを作ることができます.
Person = age ->
Person <- {
age = age;
} >< {
printAge = this -> println(this::age);
};
student = Person 17;
student.printAge; // 17
>< はオブジェクトを合体します.上のコードでは,Person にオブジェクトを合体してインスタンスメソッド printAge を追加しています.