[Haxe]変数定義とかクラス定義とか

インストールができたので、とりあえずクラス定義が出来る様になりたい。

ざっくり書いてみました。

クラス定義

クラス定義はPHPっぽい印象。型指定できる部分はASっぽい印象。

package;

/**
 * ...
 * @author Taihei Umino
 */
class HelloWorld
{
 static inline var HELLO_WORLD:String = "Hello World";
 public var name:String;

 public function new(name:String)
 {
  this.name = name;
 }

 public function hello():Void
 {
  trace(HELLO_WORLD+" : "+this.name);
 }

}

処理の内容は、コンストラクタで受け取った文字列を保持して、hello関数で定数の文字列とコンストラクタで受け取った文字列をコンソールに出力するという物です。

クラスは「class クラス名 {}」で定義します。

コンストラクタ関数は「public function new(){}」となります。これはPHPともASとも違いますね。

変数は「属性 var 変数名:型」で定義します。

定数は「static inline var 定数名:型」で定義します。constは使えないそうです。ほほう。

用意したクラスを使ってみる

Main.hxでHelloWorldクラスを使ってみます。

package ;

import js.Lib;
import HelloWorld;

/**
 * ...
 * @author Taihei Umino
 */

class Main
{
 static function main()
 {
  var main:HelloWorld = new HelloWorld("class test");
  main.hello();
 }
}

これで実行すれば……。

Hello World : class test

っとなります。良い感じ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>