書き物

技術とか作った物の話とか愚痴文句感想など

getter, setterメソッドは使うべきか?

クラスのプロパティーに直接アクセスすることはあまり好ましく無いようなので、

メソッドを解してプロパティーを操作するのが一般的なようです。

ASではその際getter, setterというものが用意されているのですが、

僕の場合普通のメソッドでプロパティーにアクセスした方がしっくりくるのです。


getter, setterメソッドを使ったクラス

class TestClass
{
private var test:String;
public function get teststr():String         { return test; }
public function set teststr(str:String):Void { test = str; }
}

プロパティーを参照する場合

var ctest:TestClass = new TestClass();
ctest.teststr = "Yes!";
trace(ctest.teststr);

まるでメソッドでないかのように参照できるみたいです。

でもプロパティーは1つなのに名前の違う同一人物が存在しているようで、

違和感を感じ、Eclipseの場合だと、メソッドの一覧に載らないので効率も悪いです。

でもせっかくこんな機能があるんだから、使った方がいいのだろうか?(処理速度とかも変るのか?)


普通のメソッドだけ使ったクラス

class TestClass
{
private var test:String;
public function getTeststr():String         { return test; }
public function setTeststr(str:String):Void { test = str; }
}

プロパティーを参照する場合

var ctest:TestClass = new TestClass();
ctest.setTeststr("Yes!");
trace(ctest.getTeststr());

あまりに普通。

僕としては、しっくり。


独学で突っ走ってきたので、何が常識で何が非常識なのかを知らないところが

僕の悪い所なのではと思ってたりします。