以下为重写基类方法代码:
class A
{
public virtual void M()
{
Console.WriteLine("A");
}
}
class B : A
{
public override void M()
{
Console.WriteLine("B");
}
}
class Program
{
static void Main(string[] args)
{
A a = new A();
A b = new B();
a.M();
b.M();
Console.Read();
}
}
输出:
A
B
隐藏基类方法代码:
class A
{
public void M()
{
Console.WriteLine("A");
}
}
class B : A
{
public void M()
{
Console.WriteLine("B");
}
}
class Program
{
static void Main(string[] args)
{
A a = new A();
A b = new B();
a.M();
b.M();
Console.Read();
}
}
输出:
A
A
顺便一提base指向直接父类。