C# abstract和virtual关键字的区别
原文中文,约1000字,阅读约需3分钟。发表于: 。在C#中,abstract和virtual关键字都用于实现多态性,但它们之间有一些关键的区别:抽象方法(abstract):抽象方法在基类中声明,但不提供实现。这意味着在基类中,你只能定义方法的签名,而不能定义其主体。抽象方法必须在派生类中重写。如果不重写,则派生类也必须声明为抽象的。抽象方法不能在抽象类之外声明。也就是说,抽象方法只能存在于抽象类中。抽象方法不能使用访问修饰符private、st...
在C#中,abstract用于声明没有实现的方法,必须在派生类中重写;而virtual提供默认实现,可以选择性重写。abstract只能在抽象类中使用,virtual可以在任何类中声明。