c#中虚函数的问题

来源:互联网 发布:mac 搜索 怎么使用 *号 编辑:程序博客网 时间:2024/05/10 21:27

    这几天自己心虚,觉的不懂,所有详细了解了下c#中的虚函数问题

 

     面向对象语言的多态性体现在虚函数中,虚函数要想理解一个关键点就在于要知道 一个基类对象的引用(在c++中相当于指针)可以指向基类或者是基类的派生类。接着问题就来了,当调用这个变量时到底调用哪个的方法,基类还是派生类?

    当然给出的答案就是只要基类的该方法中有virture 那就调用派生类的overide过的方法,只要这个virtue不断,就一直沿着这个virtue调用链往下传, 直到底。

   一个收获是直到new的新用法,当override后的方法前还有一个关键词new时,就的明白这个virtue链已经断了。