C#虚函数

虚函数

1.什么是虚函数

  在面向对象设计中,继承分为两种继承:接口继承和实现继承。

   相对于基类而言,希望派生类只有接口继承(声明),或者希望接口继承和实现继承,但是不允许修改实现,或者希望接口继承和实现继承,但是允许派生类修改实现。

   因此,虚函数就是标明本方法可以在派生类中重写,以实现多态。

2.为什么要使用虚函数

   1)如果没用虚函数,在派生类中一旦定义与父类方法名相同的方法,父类的方法被隐藏了,调用的时候,调用的是派生类的此同名方法

   2)使用虚函数标记,在运行的时候才确定方法是属于基类还是派生类。多态的实现。

   3)编译器执行类的定义的流程

      Fu fu = new Zi(); 

     其中,声明时定义的类叫申明类,执行实例化的时候定义的类为实例类

     a)当调用函数的时候,系统会直接去检查申明类,看所调用的函数是否为虚函数

     b)如果不是,那么它就直接执行该函数。如果是虚函数,则转去检查对象的实例类

     c)在实例类中,若有override函数,则执行该函数,如果没有,依次上找,直到找到

       具有override函数的父类,然后执行该函数

3.怎么使用虚函数

    在基类中标明,在派生类中重写。

    

posted @ 2017-06-24 23:59  ZOL  阅读(230)  评论(0)    收藏  举报
// 侧边栏目录