Nearth===019/c#类和对象, 继承(练习题3)
程序员文章站
2024-03-15 15:40:53
...
3、在学校教务管理系统中,有三种用户,一种是系统管理员,一种是学生,一种是教师,编写C#类实现该继承关系。系统管理员/学生/教师都有用户名和密码属性,并都有Login和显示自身信息的方法,另外,学生拥有班级和成绩两个特殊属性以及查询成绩这一方法,教师拥有部门和工资两个特殊属性以及查询工资这一方法,系统管理员可以添加学生和教师信息。由于教师和学生个人信息不同,所以学生和教师重载基类的DisplayInfo方法。
1)类的继承关系可以表示如下:
2)创建控制台应用程序,命名为SchoolManagement
3)创建名为User的基类,基类定义了用户名和密码属性,以及Login和DisplayInfo方法
4)创建名为Student的派生类,具备班级和成绩两个特殊属性,以及查询成绩的特殊方法,覆盖基类的显示个人信息方法。
5)创建名为Teacher的派生类,具备部门和工资两个特殊属性,以及查询工资的特殊方法,覆盖基类的显示个人信息方法。
6)创建名为SysManager的派生类,具备插入学生信息和插入教师信息两个方法。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SchoolManagement { class User{ public string username; public string password; public User(string username,string password){ this.username=username; this .password=password; } public string Password { get { return password; } set { password=value; } } public string Username { get { return username; } set { username = value; } } public virtual void login(){ } public virtual void displayInf(){ } } class Student:User{ private string classID; private double score; public Student(string username,string password,string classID,double score):base(username,password){ this.classID=classID; this.score=score; } public string ClassID { get { return classID; } set { classID = value; } } public double Score { get { return score; } set { score = value; } } public void checkScore(){ } public override void displayInf() { Console.WriteLine("sb"); } } class Teacher : User { private string department; private double salary; public Teacher(string username, string password, string department, double salary):base(username, password) { this.department = department; this.salary = salary; } public string Department { get { return department; } set { department = value; } } public double Salary { get { return salary; } set { salary = value; } } public void checkSalary() { } public override void displayInf() { Console.WriteLine("sb"); } } class SysManager : User { public SysManager(string username, string password) : base(username, password) { } public void insertStudent() { } public void insertTeacher() { } } class Program { static void Main(string[] args) { } } }