设计一个Windows应用程序,在该首先构造一个学生基类,再分别构造小学生、中学生、大学生等派生类,当输入相关数据,单击不同的按钮(小学生、中学生、大学生)将分别创建不同的学生对象,并输出当前的学生总人数、该学生的姓名、学生类型和平均成绩,如图 Untitled.jpg 所示。具体要求如下: (1)每个学生的字段为:姓名、年龄。 (2)小学生的字段还有语文、数学,用来表示这两科的成绩。 (3)中学生在此基础上多了英语成绩。 (4)大学生只有必修课和选修课两项成绩。 (5)学生类具有方法来统计自己的平均成绩,并输出。 (6)通过静态成员自动记录学生总人数。 (7)成员初始化通过构造函数完成。 核心代码提示: //抽象基类 public abstract class Student { protected string name; protected int age; public static int number; public Student(string name,int age) { this.name = name; this.age = age; number++; } public string Name { get { return name; } } public abstract double Average(); } //派生子类:小学生类 public class Pupil : Student3 { protected double chinese; protected double math; public Pupil(string name, int age,double chinese,double math) : base(name, age) { this.chinese = chinese; this.math = math; } public override double Average() { return (chinese + math) / 2; } }