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でやる場合は気をつけるお。