这几天自己心虚,觉的不懂,所有详细了解了下c#中的虚函数问题
面向对象语言的多态性体现在虚函数中,虚函数要想理解一个关键点就在于要知道 一个基类对象的引用(在c++中相当于指针)可以指向基类或者是基类的派生类。接着问题就来了,当调用这个变量时到底调用哪个的方法,基类还是派生类?
当然给出的答案就是只要基类的该方法中有virture 那就调用派生类的overide过的方法,只要这个virtue不断,就一直沿着这个virtue调用链往下传, 直到底。
一个收获是直到new的新用法,当override后的方法前还有一个关键词new时,就的明白这个virtue链已经断了。