using System;
namespace Project5
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class Class1
{
public virtual void Classname()
{
System.Console.Write("11111,class1/n");
}
}
public class Class2:Class1
{
public override void Classname()
{
System.Console.Write("22222,class2/n");
}
}
public class Class3:Class1
{
public new void Classname()
{
System.Console.Write("22222,class3/n");
}
static void Main(String[] args)
{
Class1 dsa1=new Class1();
dsa1.Classname();
Class1 dsa=new Class2();
dsa.Classname();
Class1 dsa2=new Class1();
dsa2.Classname();
Class1 af=new Class3();
af.Classname();
System.Console.Read();
}
}
}
输出结果
11111,class1
22222,class2
11111,class1
11111,class1
当基类new派生类的时候,用override重写会被调用.
当基类new派生类的时候,用new则会调用基类函数.