lang

クラス定義

Tonyu2では,1つのファイルに1つのクラスを定義します.

継承宣言

このクラスの親クラスを設定します.ファイルの先頭に次のように宣言します

extends 親クラス名;

組み込み宣言

このクラスに組み込むクラス(モジュールクラス)を設定します.ファイルの先頭,または継承宣言に続いて次のように宣言します.

includes モジュールクラス名[, モジュールクラス名...];

例:次のような継承関係の場合

プロトタイプチェーンは,A→DMod→CMod→EMod→B→FModになります

native宣言

native宣言は,Tonyu2のプログラムからJavascriptのネイティブオブジェクトにアクセスするために用います.ファイル中で次のように宣言します.

native 変数名;

メインメソッドの定義

ファイルのトップレベル(メソッド定義に囲まれていない部分)に書かれた文はメインメソッドの内容として定義されます. メインメソッドは,mainという名前を暗黙的にもちます.引数を受け取ることはできません.

Actorクラスなどでは,オブジェクトが出現してから停止するまでの動作を記述するのに用いられます.

非メインメソッドの定義

非メインメソッドは,ファイルのトップレベルにおいて次の形式で定義します.

function メソッド名(引数リスト) {
   処理内容
}

※function の代わりに \ が使用可能です(拡張構文参照)

プロパティの定義

プロパティ(getter/setter)は次の書式で定義します

//getter
\プロパティ名 {
  処理内容
}
//setter
\プロパティ名=値 {
  処理内容
}

\myProp {
   print("Get myProp="+_myp);
   return _myp;
}
\myProp=value {
   print("Set myProp to "+value);
   _myp=value;
}
myProp=10; //  Set myProp to 10
x=myProp;  //  Get myProp=10

変数の種類

MyClass

extends Actor;
native alert;
// メインメソッド
x=3;
rate=5;
y=mult(x);
alert(y); // 15
// メインメソッド終わり
\mult(a) {
  var res=a*rate;
  return res;
}

.

Backlink