getとsetを使ったアクセス

アクセサメソッドを作る場合

function (set or get) メソッド名

こんな感じにするとよい。(set or get)とメソッド名の間は空けないといけない。
以下サンプルコード。

package {
	import flash.display.*;
	
	public class Main extends MovieClip {
		public function Main() {
			var c1:class1 = new class1();
			c1.text = "hoge";
			trace(c1.text);
		}
	}
}

class class1 {
	private var __text:String;
	
	public function set text(t:String):void { __text = t; }
	public function get text():String { return __text; }
}

こんな感じになる。これでクラスを使っているユーザーは変数に直接アクセスしている感じを味わえるとさ。めでたしめでたし。というかやっぱりOSSでみんなで作るとなるとアクセサメソッドいるのかー。めんどくさす。


僕は趣味で作るときはメソッドもプロパティも全部publicでプロパティには直接アクセスというトリッキーなことしてたからな。でも一人で作るならそれで十分なんだなー。でもまぁOSSでやる場合は気をつけるお。