問題タブ [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.
c# - 「プライベート」修飾子は何をしますか?
「private」がクラスMembersのデフォルトのアクセス修飾子であることを考えると、なぜキーワードが必要なのですか?
c++ - 友達を使わずにクラス外からプライベートメンバーにアクセスできますか?
免責事項
はい、私が尋ねていることは完全に愚かであり、製品コードでそのようなことを試みたい人は誰でも解雇および/または撃たれるべきであることを十分に認識しています. 私は主に、できるかどうかを見ています。
クラス外から C++ のプライベート クラス メンバーにアクセスする方法はありますか? たとえば、ポインタのオフセットでこれを行う方法はありますか?
(ナイーブで本番環境に対応していないテクニックを歓迎します)
アップデート
コメントに記載されているように、この質問をしたのは、過剰カプセル化 (およびそれが TDD に与える影響) に関するブログ投稿を書きたかったからです。「プライベート変数の使用は、C++ であっても、カプセル化を強制する 100% 信頼できる方法ではない」と言う方法があるかどうかを確認したかったのです。最後に、問題がなぜ問題なのかよりも、問題を解決する方法にもっと焦点を当てることにしたので、ここで取り上げたもののいくつかは、計画していたほど目立つようには取り上げませんでしたが、それでもリンクを残しました.
いずれにせよ、それがどのように生まれたかに興味がある人は、次 のとおりです。
javascript - プロトタイプで定義された関数からのプライベート メンバー変数へのアクセス
プロトタイプで定義されたメソッドで使用できる「プライベート」変数 (コンストラクターで定義されたもの) を作成する方法はありますか?
これは機能します:
しかし、これはしません:
私はコンストラクター内でメソッドを定義することに慣れていますが、いくつかの理由でそれから離れています。
java - プライベート メンバー アクセス Java
クラス レベルまたはオブジェクト レベルでのプライベート メンバー アクセスです。オブジェクト レベルの場合、次のコードはコンパイルされません。
sub の messWithI() メソッド内で obj のメンバー i にアクセスすることが有効かどうかを明確にしてください
c++ - プライベートメンバーへのアクセス
クラスのプライベートメンバーにアクセスするには、クラスをvoidポインターにキャストしてから、構造体にキャストするのが適切ですか?
アクセスする必要のあるデータメンバーを含むクラスを変更する権限がないと思います。倫理的でない場合、間接的な方法でデータメンバーにアクセスするリスクを冒したくありません。
編集:これをさらに編集する必要がありました...クラスは変更されないだろうと確信しているので、その程度は問題ありません...私の唯一の懸念は、そのクラスをコーディングした人がこれを知った場合、彼とうまくいかないかもしれません:(。
properties - Private Field x Property のローカル使用に関するベスト プラクティス
クラス内にプライベートフィールドがあり、そのフィールドをパブリックプロパティに公開する場合、クラス内からどれを使用すればよいですか?
以下は、私が見つけようとしているものの例です。プライベート フィールド _Counter またはプロパティ カウンターを操作する必要がありますか?
公開クラステスト
クラス終了
助けてくれてありがとう。教育
c++ - 親クラスがデータ クラスのフレンド クラスである別の派生クラスからデータ クラスのプライベート メンバー変数にアクセスする方法は?
私は3つのクラスを持っています:
Pimpl パターンを使用するデータ ホルダー クラス CDataHolder
/li>CDataHolder の iPImpl メンバーにアクセスする必要がある基本クラス CBase で、CDataHolder のフレンド クラスです。
/li>同じ iPimpl メンバーにもアクセスする必要がある、CBase から派生した派生クラス CD。ここで問題が発生します。派生クラスは、親クラスがフレンド クラスですが、iPimpl メンバーを使用できません。このような:
派生クラスはたくさんあるので、派生クラスごとに「friend class CDerivedXXX」という行を CDataHolder クラスに入れるのは得策ではありません。この問題を克服するにはどうすればよいですか?これを行うより良い方法はありますか?前もって感謝します。
c++ - C++ で簡単なクラスを作成するには?
私は C++ クラスに関する多くのチュートリアルを読んできましたが、他のチュートリアルに含まれているものを見逃しています。
可視性、メソッド、および単純なコンストラクタとデストラクタを使用する非常に単純な C++ クラスを作成して使用する方法を教えてください。
c++ - MFCクラスでのプライベートキーワードの配置における変数の違い
次のコードスニペットを私の質問の例として使用します。
MyClass定義にキーワード「private」をそのまま配置すると、MusicPlayerクラスのメソッドでアクセスしようとすると、privateContentメンバー変数がプライベートに表示されません。ただし、DECLARE_DYNCREATE(MyClass)行の後に「private」キーワードを配置すると、privateContentメンバー変数の動作は期待どおりに戻ります。なぜこれが当てはまるのか誰かが知っていますか?前もって感謝します。
python - プライベートネームマングリングの利点は何ですか?
Python は、クラスのメソッドと属性にプライベートな名前マングルを提供します。
この機能が必要となる具体的なケースはありますか、それとも Java と C++ からの単なる継承ですか?
ある場合、Python の名前マングリングを使用する必要があるユース ケースを説明してください。
また、作成者が偶発的な外部属性アクセスを防止しようとしているだけの場合には興味がありません。このユース ケースは、Python プログラミング モデルと一致していないと思います。