public class MainTest
{
public static void Main()
{
BaseMyClass baseMy=new BaseMyClass();
IntMyClass IntMy=new IntMyClass();
BaseMyClass IntMy2=new IntMyClass();
baseMy.ShowMessage1();
baseMy.ShowMessage2();
IntMy.ShowMessage1();
IntMy.ShowMessage2();
IntMy2.ShowMessage1();
IntMy2.ShowMessage2();
Console.ReadLine();
}
}
public class BaseMyClass
{
public void ShowMessage1()
{
Console.WriteLine("Base1");
}
public virtual void ShowMessage2()
{
Console.WriteLine("Base2");
}
}
public class IntMyClass:BaseMyClass
{
public new void ShowMessage1()
{
Console.WriteLine("IntMy1");
}
public override void ShowMessage2()
{
Console.WriteLine("IntMy2");
}
}Base1
Base2
IntMy1
IntMy2
Base1
IntMy2
如果把IntMyClass中函数ShowMessage1的new去掉后执行的结果
Base1
Base2
IntMy1
IntMy2
Base1
IntMy2
没有区别
如果将IntMyClass中函数ShowMessage2的override去掉执行的结果为
Base1
Base2
IntMy1
IntMy2
Base1
Base2
:)

浙公网安备 33010602011771号