C#中virtual 方法和abstract方法的区别
2013-04-09 09:46
288 查看
在C#的学习中,容易混淆virtual方法和abstract方法的使用,现在来讨论一下二者的区别。二者都牵涉到在派生类中与override的配合使用。
一、Virtual方法(虚方法)
virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:
情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。
情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
二、Abstract方法(抽象方法)
abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现。
一、Virtual方法(虚方法)
virtual 关键字用于在基类中修饰方法。virtual的使用会有两种情况:
情况1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。
情况2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
二、Abstract方法(抽象方法)
abstract关键字只能用在抽象类中修饰方法,并且没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来实现。
相关文章推荐
- c#虚方法(virtual)和抽象方法(abstract)的区别
- c#中new和override的区别. virtual和abstract方法的区别.
- C#中virtual 方法和abstract方法的区别
- C#Virtual方法(虚方法)、Abstract方法(抽象方法)、Interface的区别
- C# 虚方法(virtual)和抽象方法(abstract)方法的区别
- C#中virtual方法和abstract方法的区别
- C#中virtual 方法和abstract方法的区别
- C#中virtual 方法和abstract方法的区别
- C#中virtual 方法和abstract方法的区别 (转)
- C#中virtual 方法和abstract方法的区别
- C#中virtual 方法和abstract方法的区别
- C#中virtual 方法和abstract方法的区别(zhuan)
- C#中virtual 方法和abstract方法的区别
- C#中virtual 方法和abstract方法的区别
- C#关键字—virtual 、 abstract、interface 的区别
- c#中abstract与virtual的区别
- (转)C#中的abstract与virtual的区别
- c#的new、abstract、virtual、override,sealed关键字区别
- C#中virtual和abstract的区别
- C#.NET中new, override, virtual abstract关键字的区别