C# abstract和virtual关键字的区别
💡
原文中文,约1000字,阅读约需3分钟。
📝
内容提要
在C#中,abstract用于声明没有实现的方法,必须在派生类中重写;而virtual提供默认实现,可以选择性重写。abstract只能在抽象类中使用,virtual可以在任何类中声明。
🎯
关键要点
- abstract用于声明没有实现的方法,必须在派生类中重写。
- abstract方法只能在抽象类中声明,不能使用private、static、sealed或override修饰符。
- virtual方法提供默认实现,可以选择性重写,且可以在任何类中声明。
- 虚方法可以使用private、protected、internal、protected internal或public修饰符。
- 如果派生类不重写虚方法,仍然可以调用默认实现。
- abstract方法必须在派生类中实现,否则派生类也必须声明为抽象。
➡️