問題タブ [private-members]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javadoc - Java ドキュメントのプライベート メンバー変数
ゲッター/セッターが使用するプライベート メンバー変数の説明を、対応するゲッターとセッターを説明する javadocs に指定する必要があるのはなぜですか。
c++ - ソースファイル内の非公開のプライベートメンバー変数とグローバル変数
私が現在働いている会社のコードを見ていると、ファイルがクラスに属している*.cpp
ファイル(たとえば、リスナーのリストを格納するため)に静的グローバル変数の宣言がいくつか(多くはありません)表示されます.h/.cpp
。クラス自体によってのみ使用される変数(静的またはその他)の場合、私は常にそれをプライベートとして宣言します。
変数privateを宣言するよりもこれに利点はありますか?これは悪い習慣ですか?または、クラスのみが使用し、他の誰も使用しない静的変数を宣言する場合、これは正常ですか?
編集:私の質問で静的について尋ねましたが、
.cpp
それがクラスのプライベートメンバーではなく、ファイル内の非静的グローバル変数である場合はどうなりますか?それは悪い習慣ですか、それとも大丈夫だと考えられていますか?この場合の利点はありますか?
c++ - シングルトン初期化
コードにシングルトンデザインパターンを実装しました。
それが次のようになっていると仮定します。
私を困惑させるのは、このパターンの「初期化」です。.cppに私は入れました:
しかし、 defineにアクセスする方法がわかりません。どうしてそれが可能ですか?s
private
TIA、ジル
c# - 同じ包含クラス内にある場合、C#がクラス自体の外部のプライベート変数にアクセスできるのはなぜですか?
質問が十分に説明的であるかどうかはわかりませんが、なぜ、どのようにこの動作が存在するのですか?:
layer.Children
どこからでもアクセスできますが、layer.children
プライベートなのでどうすればアクセスできますか?
コードがLayer
クラス内にある場合にのみ機能します。アクセスが外部からのものであっても、それが包含クラスの内部で行われる場合、プライベート変数へのアクセスを異なる方法で処理するための特別なコードはありますか?
私は使用する理由を知っています:
包含クラス内にありますが、新しいインスタンスを作成して外部から変更することは、それらがまだ包含クラス内にある場合でも、良い習慣とは思えません。
これを許可する理由は何ですか?
rhino-mocks - スタブ内のプライベート セッターに関する Rhino Mocks の問題
エラー:
PropertyBehavior を使用するように定義されたプロパティに期待値を設定しようとしています。次のようなコードを書く代わりに: mockObject.Stub(x => x.SomeProperty).Return(42); プロパティを直接使用して同じ結果を得ることができます: mockObject.SomeProperty = 42;
私は何を間違っていますか?
c++ - エラー: 'screen' はこのスコープで宣言されていません
C++ で困っています。SDL を使用してグラフィックを処理するゲームのエンジン クラスを作成しています。Engine クラスは (できれば正しく実装されている) Singleton です。
engine.h :
エンジン.cpp :
main.cpp : 行が含まれています
どんな助けでもいただければ幸いです
javascript - プライベート関数と変数ExtJs4?
現在のプロジェクトでは、ExtJs3.3を使用しています。
私はプライベート変数と関数を持つ多くのクラスを作成しました。例:
ExtJs4で物事を行う新しい方法は、このExt.define
メソッドを使用することであることを理解しています。したがって、上記のコードは次のようになります。
だから私が知りたいのは、ExtJs3で行ったのと同じようにExtJs4でプライベート変数と関数をどのように定義できるかということです。
言い換えれば、Ext.define
メソッドが新しいクラスの定義、拡張、登録を処理することを理解しvar
ていますが、クラス自体のプロパティではないがクラスに必要なjavascriptをどこで宣言する必要があります。
javascript - プライベートインスタンス変数で使用するためのプロトタイプメソッドを共有するインスタンス
このSOの質問は私を悩ませ続けました。これは、SOで定期的に再現されるように思われる質問です。
これで、プライベート'プロパティ'を管理しようとするコンストラクター関数を作成する方法を考案しました。これは、プライベートストレージを使用して、コンストラクターのプロトタイプget/setメソッドからのみ設定できます。基本的な形式では、次のようになります。
基本的なコンストラクター関数:
get/setプロトタイプメソッドをに追加するHuman
私はあなたのコメントに本当に興味があります。多分私は完全に間違った方向に考えています、多分あなたはそれが不必要な操作であり、jsのプロトタイプの性質に違反していると言うかもしれません、それはすでに他の場所で(そしてより良い)行われています、または何か。教えてください!
私がこれについて考える-ここではそれを呼びましょう-パターン:それを使用して失うのは、プロパティ(など)を簡単に宣言して取得することの容易さですthis.some = that
、あなたが勝つものは、より良いカプセル化、インスタンス変数のプライバシー、およびプロパティのいくつかの制御ですあなたが使用します(それが正しい用語であるかどうかはわかりませんが、OOPの世界では、誰もが用語に独自のプライベートな意味を与えているように見えることがあります)。
とにかく、私はこのjsfiddleHuman
でより完全で動作するように調理しました。
- [ edit1 ]コメントへの応答:すぐに呼び出す関数(iif)を破棄しました
- [ edit2 ]プライベートストレージがなくてもプライベートな代替手段は少なく
.caller
なりますが、プライベートストレージを使用できます:このjsfiddleを参照してください - [ edit3 ]プロトタイプも捨てるかもしれません
- [ edit4 ]完成させるために:これが本物のプロトタイプのget/setバリアントです
c++ - cudaカーネルのクラスのプライベートメンバーにアクセスする
クラスを作成し、そのオブジェクトを cuda カーネルに渡しました。
カーネルのコードは次のとおりです。
そして、次のエラーが発生します。error: ‘int pt::a’ is private
問題は、クラスのプライベート メンバーにアクセスするにはどうすればよいかということです。
プライベート メンバーが存在しなければ、プログラムは正常に実行されます。