abstract
キーワードを使用して設計によりコンストラクターのみを保護しているクラスに常に注釈を付ける必要がありますか?なんで?
クラスに抽象メンバーがないとします。
いいえの場合、いくつか例を挙げていただけますか?
いいえ。保護されたコンストラクターのみを持つ型は、型の静的ファクトリメソッドを介して、またはリフレクションを介して(1つのオプションとして、コンストラクターを完全にスキップすることを含めて)作成できます。
抽象型は決して作成できません。
タイプをabstractとしてマークします:abstractの場合。つまり、(サブクラスではなく)そのタイプのオブジェクトが存在することは意味がありますか?
いいえ、これは意図的に行うべきではありませんabstract
。クラスの目的ではないからです。
私の意見では、抽象クラスは、論理ビューで同じタイプのクラスの束を表すために使用されます。これは、この一連のクラスがプロパティまたは動作のいずれかで一般的であることを意味します。'Private'コンストラクターを持つクラスを表すためには使用されず、クラス自体の外部で作成することはできません。