【发布时间】:2014-04-07 16:35:23
【问题描述】:
我认为子类可以覆盖非虚拟的父方法
class Parent {
public void hello() {
Console.WriteLine("Hello Parent");
}
}
class Child:Parent{
public void hello() {
Console.WriteLine("Hello Child");
}
static void Main() {
Parent p = new Child();
Child c = new Child();
p.hello(); // Hello Parent
c.hello(); // Hello Child
}
}
那么在父方法中 virtual 和 not virtual 有什么区别???
【问题讨论】:
-
虚拟修饰符允许方法被覆盖,其他不能:msdn.microsoft.com/en-us/library/9fkccyh4.aspx
-
你对虚拟性有逆向理解。
标签: c# .net oop polymorphism