なぜ私たちはプライベートクラスをC#で作成するのですか?私たちは、プライベートクラスは基本クラスを作ることができないことを知っているので、それらからクラスを派生させることはできませんでした。プライベートクラスの使用目的は何ですか?C#でプライベートクラスを使用する理由
答えて
encapsulationという概念のために、スコープの制御が重要であるため、プライベートクラス(またはプライベートなもの)が重要です。
ライブラリーを構築する場合は、プライベートクラスが使用できますが、ライブラリーはそれらのクラスを使用できますが、ライブラリーを使用している人は誰でもライブクラスを見ることはできません。これにより、隠蔽したい実装固有の詳細を隠すことができます。
プライベートネストされたクラスを持つクラスを作成する場合、そのクラスを含むクラスは、他の誰もそれらを見ることができないプライベートクラスを使用できます。ここでも、これを使用して、隠蔽したい実装固有の詳細を隠すことができます。
実装固有の詳細を非表示にしていない場合(たとえば、プライベートクラスをパブリックにする)、ライブラリのユーザーが依存関係を作成していないことを確認できないため、実装を変更するのが難しくなります。それらのクラス。しかし、プライベートであれば、外部の依存関係を乱す心配なしに、それらを変更したり、置き換えたり、削除したりすることができます。
私たちのコードを別々の論理ユニットに分割することは、良い慣行と広く考えられています。各ユニットには、すべて関連する制限事項がいくつかあります。これにより、コードのテストが容易になり、十分にテストされれば、それらのユニットは、より複雑なパターンを作成できるビルディングブロックになります。プライベートクラスは、必ずしもライブラリを使用して他のプロジェクトに表示される必要のない内部機能を実装するビルディングブロックを作成する場合に便利です。インターフェースを実装することもできます。したがって、ファクトリを設定して、クラスのインスタンスを作成するように設定すると便利です。呼び出し元は、インターフェースを介してクラスを使用できます。クラス型そのもの。
プライベートクラスは、ネストされたクラス内でのみ作成することができ、アクセスを制限し、このネストされたクラス内でのみ使用するために使用されます。
私は、プライベートクラスはネストされたクラスだけであることを意味すると思います。ネストされたクラスの内部にある必要はありません。それらは外部クラスでのみ*使用できます。 –
- 1. C++リファレンスを使用する理由
- 2. C++プライベートクラスのデータをプログラム内で使用する
- 3. プリコンパイル済みヘッダー(C/C++)を使用する理由
- 4. Dev C/C++ IDEでベクトルを使用できない理由
- 5. C#で静的メンバーを使用する理由
- 6. ソートをソートする理由累積を使用する理由
- 7. フレックスイベントで「バブル」を使用する理由
- 8. fcloseでsegfaultを使用する理由
- 9. ブラウザでES6を使用する理由
- 10. IWindsorContainerでIKernelを使用する理由
- 11. ラムダで# 'を使用する理由は?
- 12. laravelでガードを使用する理由
- 13. MonadStateでMultiParamTypeClassesを使用する理由
- 14. Dで@propertyを使用する理由
- 15. CodeigniterでSlugを使用する理由
- 16. flafでkafkaを使用する理由
- 17. RailsでEmber.jsを使用する理由
- 18. @AutowiredをSpringで使用する理由
- 19. @EmbeddableをHibernateで使用する理由
- 20. MongoでElasticSearchを使用する理由
- 21. Fluxでスイッチを使用する理由
- 22. Netty:TimeServerHandlerでChannelInboundHandlerAdapterを使用する理由
- 23. rでnullを使用する理由
- 24. Androidでstrings.xmlを使用する理由
- 25. c#attribute使用する理由を表示しますか?
- 26. JumboEnumSetを使用する理由とその理由
- 27. C#でバイト/ショートなどを使用する理由は何ですか?
- 28. C#のプライベートクラスの概念
- 29. C#ネストされたプライベートクラス
- 30. SSRS vs. Power BI - 使用する理由とその理由
私たちは私物を持っているのと同じ理由で。それ以外のクラスでは他に何ができますか?ああ、そうです、私たちはそれらをインスタンス化するか、静的メンバーに電話します。なぜあなたの質問はそれらのクラスの使用を無視しますか? –
この質問は悪いことかもしれませんが、「主に意見に基づいた」ものではないので、近い票は偽です。 OPは、クラスの唯一の目的はそれらから派生することであると仮定していると誤解されていますが、それらを使用することは決してありません。そのエラーを過ぎて、問題は単純に何らかの民間企業が存在する理由であり、それは十分に確立されており、意見の問題ではありません。 –