有父类ParentClass和子类ChildClass、以及父类的虚方法VirtualMethod。有如下程序段:
ParentClass pc = new ChildClass();
pc.VirtualMethod(...);
如果子类是重写(override)父类的VirtualMethod,则上面的第二行语句将调用子类的该方法
如果子类是覆盖(new)父类的VirtualMethod,则上面的第二行语句将调用父类的该方法
ParentClass pc = new ChildClass();
pc.VirtualMethod(...);
如果子类是重写(override)父类的VirtualMethod,则上面的第二行语句将调用子类的该方法
如果子类是覆盖(new)父类的VirtualMethod,则上面的第二行语句将调用父类的该方法
本文探讨了父类虚方法在不同情况下被子类重写或覆盖时的调用行为。当子类重写父类虚方法时,通过父类引用调用会执行子类的方法实现;若子类覆盖父类虚方法,则执行的是父类的方法。
1002

被折叠的 条评论
为什么被折叠?



