C#虚函数
虚函数
1.什么是虚函数
在面向对象设计中,继承分为两种继承:接口继承和实现继承。
相对于基类而言,希望派生类只有接口继承(声明),或者希望接口继承和实现继承,但是不允许修改实现,或者希望接口继承和实现继承,但是允许派生类修改实现。
因此,虚函数就是标明本方法可以在派生类中重写,以实现多态。
2.为什么要使用虚函数
1)如果没用虚函数,在派生类中一旦定义与父类方法名相同的方法,父类的方法被隐藏了,调用的时候,调用的是派生类的此同名方法
2)使用虚函数标记,在运行的时候才确定方法是属于基类还是派生类。多态的实现。
3)编译器执行类的定义的流程
Fu fu = new Zi();
其中,声明时定义的类叫申明类,执行实例化的时候定义的类为实例类
a)当调用函数的时候,系统会直接去检查申明类,看所调用的函数是否为虚函数
b)如果不是,那么它就直接执行该函数。如果是虚函数,则转去检查对象的实例类
c)在实例类中,若有override函数,则执行该函数,如果没有,依次上找,直到找到
具有override函数的父类,然后执行该函数
3.怎么使用虚函数
在基类中标明,在派生类中重写。


浙公网安备 33010602011771号