项目目录:

创建教师类(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();
}
}
}
效果:

原文:http://www.cnblogs.com/KTblog/p/4770058.html