XBLでプライベートメソッドを作成する方法はありますか?
- アップデート
MDNに関する唯一のドキュメントには、プライベートメソッドについては何も書かれていませんが、それは必ずしも完全ではないwikiです。
あなたの質問に対する答えは、XBLはプライベートメソッドをサポートしていないということです。ただし、これは、パブリックメソッドを公開したままにして、争うことなくこの状況を受け入れる必要があるという意味ではありません。メソッドがプライベートであることを伝えたり、メソッドの使用や変更を思いとどまらせたりするのに役立つ、自由に使えるオプションがいくつかあります。
メソッド名にはアンダースコアを使用します。
Mozillaは、メソッドとフィールドをプライベートとしてマークするためにアンダースコアを使用することをお勧めします。さらに、多くのJavaScriptライブラリは、開発者がプライベートとしてマークしたいメソッドでアンダースコアを使用します。初心者の開発者はこれを無視してメソッドを呼び出すことができますが、JavaScriptライブラリ、Firefox拡張機能の開発、またはJavaScript全般の基本的な経験があるほとんどの人は、メソッドの前にアンダースコアがある場合の意味を知っている必要があります。
継承を使用してプライベートメソッドを非表示にします:
見えない、心の外。
一部の言語では、一連のサブクラスに共通する機能が基本抽象クラスに移動されることがよくあります。サブクラスでは、継承されたメソッドはサブクラスコードに表示されません。
これは間違いなく「プライベート」ではありませんが、「プライベート」メソッドをXBLバインディングにカプセル化し、パブリックメソッドを親バインディングを拡張するXBLバインディングに配置することができます。継承はXBLの最も強力な機能の1つであり、開発者が直接対話しているXBLバインディングに表示されないという理由だけで、プライベートメソッドが使用されないように保護するのに役立ちます。
次に、「プライベート」機能の目的を説明し、パブリックにすることを意図していないことを説明する広範なコメントを親に入れることができます。
メソッドをプライベートとしてマークできたとしても、決定された人を止めることはできないことに注意してください。それでも、メソッドを「パブリック」としてマークして、とにかく使用することができます。
XBLに関するドキュメントは次のとおりです。これは、メソッドがプライベートであると主張し、継承についても説明してい ます。https ://developer.mozilla.org/en/XUL_School/Custom_XUL_Elements_with_XBL