C#中的virtula
一、Virtual方法(虚方法)
virtual关键字是一个方法修饰符,用于在基类中修饰方法,标识这个方法是可被覆载的方法。virtual的使用会有两种情况:
1:在基类中定义了virtual方法,但在派生类中没有重写该虚方法。那么在对派生类实例的调用中,该虚方法使用的是基类定义的方法。
2:在基类中定义了virtual方法,然后在派生类中使用override重写该方法。那么在对派生类实例的调用中,该虚方法使用的是派生重写的方法。
二、Abstract方法(抽象方法)
1、abstract关键字也是一个方法修饰符,abstract修饰的方法为抽象方法。
2、abstract修饰的方法没有具体的实现。抽象方法的实现必须在派生类中使用override关键字来重写。被派生类重写后才能被使用。
3、abstract声明的抽象方法可以看成是没有实现体的虚方法;如果类中包含抽象方法,那么类就必须定义为抽象类(抽象方法所在的类必须是抽象类),不论是否还包含其他一般方法;抽象类不能有实体。抽象类中可以包含抽象方法和一般方法,抽象类就是用来被继承的。