Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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语言中创建抽象和虚拟方法的目的#_C# - Fatal编程技术网

C# 在C语言中创建抽象和虚拟方法的目的#

C# 在C语言中创建抽象和虚拟方法的目的#,c#,C#,如果抽象和虚拟方法没有在基类中实现,那么在c#中的基类中创建它们有什么必要?您应该忘记虚拟n抽象,做一些抽象练习 例如,试着描述一下你每天看到的汽车,并把它写在一张纸上。从那里,您可以看到将在基类上定义的公共属性和行为。虚拟方法必须具有某种可以被继承类重写的基类实现。抽象方法没有实现,但必须由继承类实现,实现方式与类必须实现接口中定义的方法大致相同 dotnetperls对这些问题有很好的分析 这样您就可以调用它们。为了强制执行必须(在抽象情况下)或可能(在虚拟情况下)由继承类实现的契约,我们

如果抽象和虚拟方法没有在基类中实现,那么在c#中的基类中创建它们有什么必要?

您应该忘记虚拟n抽象,做一些抽象练习


例如,试着描述一下你每天看到的汽车,并把它写在一张纸上。从那里,您可以看到将在基类上定义的公共属性和行为。

虚拟方法必须具有某种可以被继承类重写的基类实现。抽象方法没有实现,但必须由继承类实现,实现方式与类必须实现接口中定义的方法大致相同

dotnetperls对这些问题有很好的分析


这样您就可以调用它们。为了强制执行必须(在抽象情况下)或可能(在虚拟情况下)由继承类实现的契约,我们为什么不只在派生类中创建它们?这样您就可以从基类类型的表达式调用它们。现在我明白了……非常感谢您的感谢……非常好的解释