Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 类前面的抽象关键字:生存还是毁灭_C#_.net - Fatal编程技术网

C# 类前面的抽象关键字:生存还是毁灭

C# 类前面的抽象关键字:生存还是毁灭,c#,.net,C#,.net,我是否应该总是用abstract关键字注释一个只通过设计保护构造函数的类?为什么? 假设该类没有抽象成员 如果没有,你能举出一些例子吗?没有,你不应该设计这样做,因为这不是抽象类的目的 不,您不应该设计这样做,因为这不是抽象类的目的 否。只有受保护的构造函数的类型仍然可以创建-可以通过类型上的静态工厂方法,也可以通过反射(包括作为一个选项,完全跳过构造函数) 抽象类型是不可创建的 将类型标记为抽象类型:如果是抽象类型。那么:该类型的对象(而不是子类)存在有意义吗?否。只有受保护构造函数的类型仍然

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

假设该类没有抽象成员


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

没有,你不应该设计这样做,因为这不是
抽象类的目的


不,您不应该设计这样做,因为这不是
抽象类的目的


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

抽象类型是不可创建的


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

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

抽象类型是不可创建的


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

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

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

在提出愚蠢的问题之前,请尝试阅读某个主题。在提出愚蠢的问题之前,请尝试阅读某个主题。您不必有任何意见,有一篇文章描述了什么是抽象类,与原始问题评论中链接到的@Mihai相同,这里的描述也适用于“接口”和“基类”-我这里的东西是针对抽象的,并且抽象的关键特性(IMO)在这里的描述中缺失。你不必有意见,这里有一篇文章描述了什么是抽象类,与原始问题评论中链接到的@Mihai相同,这里的描述也适用于“接口”和“基类”-我这里的东西是特定于抽象的,并且抽象的关键特性(IMO)在这里的描述中缺失。