2012-02-07 14 views
1

私はAS3でのカプセル化とget/set関数を使用して読み込み専用の変数を作成する方法を学んできました。インスタンス変数では動作するが、静的変数では動作しない。私はthisを見つけました。これは、静的プロパティでget/set関数を使用することが可能であると思われるようですが、コンパイラは関数の宣言が重複していることを伝え続けます。静的プロパティの取得/設定関数

package { 
    public class Foo { 
     protected static var bar:int = 0; 

     public static function get bar():int {return bar;} 
    } 
} 
+3

あなたには、いくつかの名前 'bar' – mgraph

答えて

5

をあなたがそうでなければ、変数を再開始されるだろう、変数と同じ名前(取得またはセットを含む)関数を作成することはできません。これは私が使用しているどのような本質的です。あなたが採用することができます

package { 
    public class Foo { 
     protected static var myVar:int = 0; 

     public static function get theVar():int {return myVar;} 
    } 
} 
+0

コードで' variable'と 'function'を使用することはできませんが正しいですが、変更の説明が必要。 –

4

良い練習が_barあなたがゲッターとセッターで修正しようとしている「内部」変数を呼び出し、単にバーにそれらを呼び出すことです。例えば

package { 
    public class Foo { 
     protected static var _bar:int = 0; 

     public static function get bar():int { 
       return _bar; 
     } 
    } 
} 
+0

+1はアンダースコアコーディング規則のためですが、私は主にプライベートプロパティに対してのみアンダースコアを使用しています。 – Taurayi

+0

は主にアンダースコア* – Taurayi

関連する問題