@TOC
继承与虚方法
- 类的继承本质上来说:是派生类在基类已有成员的基础上对基类的横向和纵向的扩展。如何理解这句话?我们知道在c#中类的成员主要有以下几种:方法成员,字段,属性成员以及类成员。横向扩展是指派生类对基类的类成员进行扩充,根据继承的规定,凡是基类声明或创建的成员派生类都有可能(有机会)继承(注:如果该成员被访问修饰符限定了不能被继承,则派生类无法继承。)纵向扩展是*“指对基类已经存在的功能进行修改优化(重写)*”以达到适应新环境,新要求的目的,可视其为对基类的版本的更新。
- 纵向扩展(重写)展示
` static void Main(string[] args)
{
高中生 御坂美琴 = new 高中生();
御坂美琴.Midsemester();
御坂美琴.TheuUniversityEntranceExam();
Console.ReadKey();
}
}
class Student
{
public string Gender { get; set; }
public string Name { get; set; }
public int Age { get; set; }
// private string ErrorTest1 { get; set; }
public int FinalExam()
{
Console.WriteLine("期末考试");
return 0;
}
public virtual int Midsemester()
{
Console.WriteLine(“期中考试”);
return 0;
}
}
class 高中生:Student
{
public int TheuUniversityEntranceExam()
{
Console.WriteLine("高考成绩720,你可以上清华。");
return 0;
}
public override int Midsemester()
{
// return base.Midsemester();
Console.WriteLine(“高中生的期中考试,政史地数理化生样样都考”);
return 0;
}
}`