Haxe でプロパティ


プロパティは次のような感じで書く

PropertyExample.hx
// 普通の
public var filename(default, defailt):String;

// Readonly - 同じクラスからは setter 使える
public var filename(default, null):String;

// Readonly - 同じクラスでも setter 使えない
public var filename(default, never):String;

// setter/getter メソッドを指定
public var filename(getFileName, setFileName):String;

null と never の違いは、同じクラスからアクセスできるかどうか。
C# と対比させると下のような感じ?

PropertyExample.cs
// Haxe の null と同じ
public string Filename { get; private set; } }
// Haxe の never と同じ
public string Filename { get; } }

参考

Properties - Haxe