public class MyBaseClass
{
public void DoSomething()
{
Console.WriteLine("a");
}
}
public class MyDerivedClass : MyBaseClass
{
new public void DoSomething()//用new 隐藏了该成员
{
Console.WriteLine("b");
}
{
public void DoSomething()
{
Console.WriteLine("a");
}
}
public class MyDerivedClass : MyBaseClass
{
new public void DoSomething()//用new 隐藏了该成员
{
Console.WriteLine("b");
}
}
static void Main(string[] args)
{
MyDerivedClass myObj = new MyDerivedClass();
MyBaseClass myBaseObj;
myBaseObj = myObj;
myBaseObj.DoSomething();
myObj.DoSomething();
Console.ReadKey();
}
因为在MyDerivedClass : MyBaseClass中采用了new public void DoSomething(),则输出 a,b
public class MyBaseClass
{
public virtual void DoSomething()/