同様の質問
- 保護されているのではなく、いつプライベートメソッドを作成しますか?
- プライベートメソッドまたは保護されたメソッドを使用するのが最適ですか?
- フィールドとメソッドを保護する代わりにプライベートを使用する理由
私の質問
多くの人々は、保護されたメソッドは、使用する理由がある場合にのみ使用する必要があることに同意しています。テスト駆動開発モデルはどのようにこれに組み込まれますか?private
(特に偽造オブジェクトに関して。)TDD、現在はBDDの大ファンであり、C#開発者である友人がいます。彼は、このキーワードをほとんど使用しないと言っていました。彼がそれを言った後、私はそれをフィールドに使い続けましたが、私のすべてのメソッドをデフォルトに設定し始めましたprotected
。StackOverflowの一部の人々はprotected
、デフォルトで使用する必要があることに同意しています。この質問について検討していただけませんか。protected
デフォルトで使用する最良の理由は何ですか(上記のスレッドはそうしない理由を説明しているため)?
編集:Odedのコメントにprotected
よると、デフォルトでOpen-Closed Principle(クラスは拡張のために開かれ、変更のために閉じられる必要があります)を使用するのはどうですか?