C#中虚方法总结--2

来源:互联网 发布:linux修改字符集编码 编辑:程序博客网 时间:2024/06/03 21:58

override和new 产生的效果不同


namespace test{    class Program    {        static void Main(string[] args)        {            Person p1 = new Student();            Person p2 = new SeniorStudent();            Person p3 = new Undergraduate();            p1.Say();            p2.Say();            p3.Say();            Console.ReadKey();        }    }}class Person{    public virtual void Say()    {        Console.WriteLine("我是一个人!");    }}class Student : Person{    public override void Say()    {        Console.WriteLine("我是一个学生!");    }}class SeniorStudent : Student{    public override void Say()    {        Console.WriteLine("我是一个高中生!");    }}class Undergraduate : SeniorStudent{    public new void Say()    {        Console.WriteLine("我是一个大学生!");    }}