C# - 重写虚方法

项目目录:

 

创建教师类(Teacher),虚方法有Teach();

创建学生类(Student),重写的方法是Teach();

 

教师类:

  · 加上关键字 Virtual 就是声明可以重写此方法。

using System;

namespace Test_Console
{
    public class Teacher
    {
        public virtual void Teach()
        {
            Console.WriteLine("\t--> 教师类中的讲课方法,可以重写此方法,不重写可以直接调用!\n");
        }
    }
}

  

学生类:

  ·  public class Student : Teacher  继承教师类(Teacher),这样才能重写其中的虚方法。

  · 使用关键字 Override 重写继承类中的方法。 

using System;

namespace Test_Console
{
    public class Student : Teacher
    {
        public override void Teach()
        {
            Console.WriteLine("\t -->我重写了Teacher类中的Teach方法, 一定先继承,后重写!\n");
        }
    }
}

  

调用:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Test_Console
{
    class Program
    {
        static void Main(string[] args)
        {
            Student student = new Student();
            Teacher teacher = new Teacher();

            Console.WriteLine("调用Teacher类中的Teach方法,该方法可重写:\n");
            teacher.Teach();

            Console.WriteLine("调用Student类中的Teach方法,该方法是重写了Teacher类中的Teach方法:\n");
            student.Teach();

            Console.ReadKey();
        }
    }
}

  

效果:

posted on 2015-08-29 23:14  ultrastrong  阅读(779)  评论(0编辑  收藏  举报