lang

クラス定義

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

継承宣言

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

継承宣言の書式
extends 親クラス名;

組み込み宣言

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

継承宣言の書式
includes モジュールクラス名[, モジュールクラス名...];

native宣言

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

native宣言の書式
native 変数名;

mainメソッドの処理内容

mainメソッドは,mainという名前をもつメソッドです.Actorクラスなどでは,オブジェクトが出現してから停止するまでの動作を記述するのに用いられます.

ファイルのトップレベル(メソッド定義に囲まれていない部分)に書かれた文はmainメソッドの内容として定義されます.

mainメソッドは引数を受け取ることはできません.

非mainメソッドの定義

名前がmainでないメソッドは非mainメソッドです.

ファイルのトップレベルにおいて次の形式で定義します.

リスト1 メソッド定義
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

変数の種類

リスト2 MyClass.tonyu
extends Actor;
native alert;
// main関数
x=3;
rate=5;
y=mult(x);
alert(y); // 15
// main関数終わり
\mult(a) {
  var res=a*rate;
  return res;
}

.