0

abstractキーワードを使用して設計によりコンストラクターのみを保護しているクラスに常に注釈を付ける必要がありますか?なんで?

クラスに抽象メンバーがないとします。

いいえの場合、いくつか例を挙げていただけますか?

4

3 に答える 3

3

いいえ。保護されたコンストラクターのみを持つ型は、型の静的ファクトリメソッドを介して、またはリフレクションを介して(1つのオプションとして、コンストラクターを完全にスキップすることを含めて)作成できます。

抽象型は決して作成できません。

タイプをabstractとしてマークします:abstractの場合。つまり、(サブクラスではなく)そのタイプのオブジェクトが存在することは意味がありますか?

于 2012-11-24T08:40:54.447 に答える
2

いいえ、これは意図的に行うべきではありませんabstract。クラスの目的ではないからです。

MSDNの要約

于 2012-11-24T08:39:33.850 に答える
0

私の意見では、抽象クラスは、論理ビューで同じタイプのクラスの束を表すために使用されます。これは、この一連のクラスがプロパティまたは動作のいずれかで一般的であることを意味します。'Private'コンストラクターを持つクラスを表すためには使用されず、クラス自体の外部で作成することはできません。

于 2012-11-24T08:57:29.277 に答える