类前面的抽象关键词:是或不是

时间:2012-11-24 08:36:01

标签: c# .net

我是否应该始终使用abstract关键字设计一个仅具有受保护构造函数的类?为什么呢?

假设该类没有抽象成员。

如果不是,你能举一些例子吗?

3 个答案:

答案 0 :(得分:3)

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

抽象类型从不可创建。

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

答案 1 :(得分:2)

不,你不应该按设计这样做,因为那不是为abstract类制作的。

abstract on MSDN

答案 2 :(得分:0)

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