一个例子代码
// 抽象类型 public abstract class Man { // 对抽象方法参数验证,以后所有子类中都不需要重复的参数验证(如果以后其他人要用重写你的抽象方法,他会感谢你的) public string Say(string message) { if (string.IsNullOrEmpty(message)) return "我不想说话!"; return SayHi(message); } protected abstract string SayHi(string message); } // 学生子类 public class Student : Man { protected override string SayHi(string message) { return "我是一名学生:" + message; } } // 教师子类 public class Teacher : Man { protected override string SayHi(string message) { return "我是一名教师:" + message; } } //调用代码: string message = ""; Man man1 = new Student(); Console.WriteLine(man1.Say(message)); message = "Student"; Console.WriteLine(man1.Say(message)); man1 = new Teacher(); message = "Teacher"; Console.WriteLine(man1.Say(message)); Console.ReadKey();
运行结果: 我不想说话! 我是一名学生:Student 我是一名教师:Teacher