私はactionscriptを初めて使いました。私は、actionscript内の多くの変数名が_から始まり、それの重要性が何であるか不思議に思っていました。ActionScriptのいくつかの変数名に見られる_の意味は何ですか?
答えて
Actionscriptのプライベート変数は、その前に_が付いている傾向があります。次に、_を付けずにゲッター/セッターにパブリックアクセスを許可します。
Actionscript 2.0では、_variableはオブジェクトの組み込みプロパティであることを意味しました。しかし、3.0が出る前に私はActionscriptの使用を止めました。私が知っている限り、3.0のために変更されている可能性があります。
おそらくnaming conventionが使用されていることがわかります。言語の観点からは特別な意味はありません。
JavaScriptでは、JavaScriptでアクセスレベルを制御するのが非常に難しいため、「この値に触れないでください」という意味のJavaScriptでは、_を使用していました。変数を外部から実際にアクセスできない状態にするのはかなり苦しいですa ** ...
のActionScript 2.0および1では、全くルールがありません:D ...たとえば、MovieClip
のクラスでは、ActionScript 2.0では、_x
と_y
のようなプロパティがあります。 ..最良のものはfocusEnabled
対_focusrect
、両方のブール値、1つの決定、クリップがフォーカスすることができるかどうか、それが黄色の矩形を持っているかどうか、フォーカスされています...
これは実際にフラッシュプレーヤー内部から来るものに本当に関係しているか、それともランダムであるかのいずれかになります... _global
,_root
および_accProps
があり、それ以外はTextField
,MovieClip
およびButton
...
__
(2つのアンダースコア)__resolve
はかなり魔法の方法です...そして、あなたがする場合__proto__
は、魔法のプロパティです... ...フラッシュプレーヤーで魔法を表すだけでなく、これは非常にではありませんどこでも一貫性があります...
ActionScript 3.0では、API全体でアンダースコアが使用されません。 ...私を含め多くの人が、$
sおよび_
sのprivate
、protected
とinternal
変数を示すために選んだ...しかし、これは、コードが読みやすくし、名前の衝突を防ぐ必要があり、完全に任意の命名規則です...
greetz
back2dos
シンプル - _ {あなたの変数名は}それはプライベートだということを意味します。
はAS3では、AS3でゲッターとセッターは、本質的に難読化プロパティのように見えるこのよう
myclass.myvar
として、これはクラスの透明外にあると示して終わる
public function get myVar():String
{
return _myVar;
}
のようにゲッターとセッターを定義します。したがって、差別化のために何らかの方法が必要です。つまり、秘密は "_"で始まります。
class Hello{
private var x:Number;
public function get x():Number{...}
public function set x(value:Number):void{...}
protected var y:Number;
public function get y():Number{...}
public function set y(value:Number):void{...}
}
を書くことも可能であろう。しかし、彼らは同じ名前を持っているので、uは、クラスまたはサブクラス内からそれらにアクセスするたびに、あなたのように可能である(、uは意味どちらを指定する必要があります彼らは異なる名前空間にあります)。これは
var before:Number = private::x;
やゲッターを使用するようになります。保護のため
var before:Number = public::x;
が、これはでも、すべてのサブクラスで続けられるvarsの...アンダースコアを好まない
人々が使用することができます名前を一意にするための他の構文c#のようなgetterとsetterの大文字の最初の手紙。
私はすべてのプライベート変数の前にゲッターやセッターのない "_"を付けてしまう傾向があります。この方法は、私がコードを見ながら、関数が自分の私的変数を操作していることをすぐに知ることができます。それはちょっとしたことだと思われますが、それはかなり役に立ちます。
あなたがしていることを絶対に知らない限り、保護された変数を使用しないようにしてください。彼らは悪です。これを使用する唯一の理由は、サブクラスがスーパークラスの変数にアクセスできるようにすることだけです。しかし、保護された変数の値が何らかの形でスーパークラスにとって非常に重要であった場合、スーパークラスはそのサブクラスがそれを変更したかどうかを決して知らないでしょう。プライベートにして、サブクラスの保護されたgetterおよび/またはsetterを提供する方が良いでしょう。このようにして、スーパークラスは値を変更しようとするあらゆる試みに応答することができます。
- 1. TensorFlowでは、変数名の ":0"の意味は何ですか?
- 2. struct変数の名前の意味は何ですか?
- 3. rubyでは、単一の変数名は何を意味しますか?いくつかのコードで
- 4. Actionscriptでは$(var)の意味は何ですか?
- 5. Simulinkでこれらの数値の意味は何ですか?
- 6. 意味は何ですか? C#の変数の後に?
- 7. 関数名の前にアスタリスクは何を意味しますか?
- 8. Actionscriptの変数からのオブジェクト名
- 9. node.jsの変数意味の.end(data)とは何ですか?
- 10. MiniSatの非決定変数の意味は何ですか?
- 11. NSDecimalAdd() - constの意味は何を意味するのですか?
- 12. "CODE"は変数の意味は何ですか?
- 13. 配列変数の意味は何ですか?
- 14. 変数= "+"の意味は何ですか? SAS(SQL)
- 15. 変数の先頭に '@'は何を意味しますか?
- 16. django-summernoteのSUMMERNOTE_CONFIGでこれらの意味は何ですか?
- 17. SUMIFSは何を意味し、下に与えられる式の意味は何ですか
- 18. Pythonのこれらのシンボルの意味は何ですか?
- 19. いくつかのSerialCGログの意味
- 20. VkFormatの名前でPACK8/16/32の意味は何ですか?
- 21. 何が新しくなりましたか[、、いくつかの文書からの意味ですか?
- 22. データセットで最も意味のある変数を見つける
- 23. シェルスクリプト内の変数の前にある「#」の意味は何ですか?
- 24. これらの演算子の意味は何ですか(**、^、%、//)? - Python?
- 25. これらのgitコマンドの意味は何ですか?
- 26. これらのコードの意味は何ですか?
- 27. 変数名の後の2つのカンマはbashで何を意味しますか?
- 28. 客観的な意味での意味は何ですか?
- 29. Android NetworkInterface。 NetworkInterfaceの名前の意味は何ですか?
- 30. Pythonの[...]の意味は何ですか?
私はそれが何を意味するのか知りたかったという命名規則だと思った。 – Anton
@Antonだからこそ私はリンクを含んでいたので、なぜ命名規則が重要であるか理解できた。しかし、言語の観点からは、それは重要ではありません。 – Joseph