0

abstract我是否应该总是用关键字注释一个仅通过设计保护构造函数的类?为什么?

假设该类没有抽象成员。

如果没有,你能举一些例子吗?

4

3 回答 3

3

不。只有受保护的构造函数的类型仍然是可创建的——通过该类型的静态工厂方法,或通过反射(包括,作为一种选择,完全跳过构造函数)。

抽象类型永远不可创建。

将类型标记为抽象:如果它是抽象的。那么:存在该类型的对象(而不是子类)有意义吗?

于 2012-11-24T08:40:54.447 回答
2

不,您不应该按设计这样做,因为这不是abstract类的用途。

MSDN 上的摘要

于 2012-11-24T08:39:33.850 回答
0

在我看来,一个抽象类用于表示一堆在逻辑视图中具有相同类型的类。这意味着这一堆类在属性或行为中都很常见。它不用于表示具有“私有”构造函数的类,并且不能在类本身之外创建。

于 2012-11-24T08:57:29.277 回答