C#关键字之virtual

虚方法的定义

​ 当有一个定义在类中的函数需要在继承类中实现时,可以使用虚方法,虚方法是使用关键字virtual声明的,虚方法可以在不同的继承类中有不同的实现,即为基类中定义的允许在子类中重写的方法。

虚方法的声明

​ 一般在函数的声明中添加一个virtual关键字

虚方法的调用

​ 调用上,使用子类构造的对象调用虚方法,就会调用子类的方法,使用父类构造的对象,就会调用父类的方法。

​ 在基类中声明的虚方法在子类中会对其进行调用,会用到base关键字,如果删除base关键字则表示是对父类方法直接进行重写

虚方法的规则

​ 子类可以实现虚方法也可以不识闲虚方法

​ 虚方法可以在不同的继承类中有不同的实现