Home > AS3 > インスタンスメンバーとクラスメンバー

インスタンスメンバーとクラスメンバー

  • Posted by: ryow
  • 2008年5月23日 18:00
  • AS3

インスタンスメンバーはインスタンス化(new SampleClass();)したクラス内の変数。
クラスメンバーは直接クラスを呼んだときの変数(SampleClass.testNum)。

当たり前のことは当たり前なんですが、AS2からAS3に移行するとき、どこにも書いてないんだけどメッチャ大事なのが変数のスコープ問題です。

AS2では _root.testNum でアクセスできたものは、入れ子になったmcからも同じようにアクセスできました。

AS3では rootに変数を置くことはナンセンスとされているので、変数の置き場所に困ります。たとえば沢山の入れ子になったmcがいくつもあって、そのどれもが _root に置いた変数 testNum を参照したいとき、それぞれのmcのタイムラインにいちいち _root.testNum と書くのではないということです。

ここでクラスメンバーの登場というわけですね。

どんな深い入れ子になったmcからも、すべて一律に SampleClass.testNum でアクセスできれば、階層を意識する必要はありません。

そのためにはどうするか。

package{
  public class SampleClass{
    public static var testNum:int;
  }
}

これですべてのmcなどから簡単にアクセスできます。タイムラインだけじゃなく、他のクラスからも同じ。 インスタンスメンバーとどう違うのかというと、インスタンス化してしまうとそのインスタンスごとに testNum という変数が設定され、値を共有できなくなってしまうということですね。 「AS3」「変数」「置き場所」「設置場所」「階層」とかのキーワードで引っかかるようになれば初心者に役立つと思います。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://ryow.net/mt/mt-tb.cgi/331
Listed below are links to weblogs that reference
インスタンスメンバーとクラスメンバー from ryow.net Blog

Home > AS3 > インスタンスメンバーとクラスメンバー

About

りょうどっとねっとブログ

Twitter Id:ryownet

はてなブックマーク Id:ryownet

Search

Return to page top