欢迎来到天天文库
浏览记录
ID:38698552
大小:107.00 KB
页数:6页
时间:2019-06-17
《实验十四C#中继承的实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验十四C#中继承的实现【实验目的】1.巩固掌握面向对象的编程方法;2.掌握继承机制的意义和C#实现方法;3.掌握C#中virtual、override关键字的使用。【实验准备】复习配套教材相关章节的内容;思考什么继承?Java和C#中分别如何实现?【实验内容】项目描述:在学校教务管理系统中,有三种用户,一种是系统管理员,一种是学生,一种是教师,编写C#类实现该继承关系。系统管理员/学生/教师都有用户名和密码属性,并都有Login和显示自身信息的方法,另外,学生拥有班级和成绩两个特殊属性以及查询成绩这一方法,教师拥有部门和工资两个特殊属性以及查询工资这一方法,系统管
2、理员可以添加学生和教师信息。由于教师和学生个人信息不同,所以学生和教师重载基类的DisplayInfo方法。1)类的继承关系可以表示如下:2)创建控制台应用程序,命名为SchoolManagement3)创建名为User的基类,基类定义了用户名和密码属性,以及Login和DisplayInfo方法usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceSchoolManagement{publicclassUser{privatestringuserName;//用户名publics
3、tringName{get{returnuserName;}set{userName=value;}}privatestringpassword;//密码publicstringPassword{get{returnpassword;}set{password=value;}}privatestringuserType;//用户类型publicstringUserType{get{returnuserType;}set{userType=value;}}publicvoidLogin(){if(userName.Equals("1")&&password.Equal
4、s("1")){DisplayPersonInfo();}}publicvirtualvoidDisplayPersonInfo()//注意virtual关键字{Console.WriteLine("姓名:{0}",userName);Console.WriteLine("用户类型:{0}",userType);}}}2)创建名为Student的派生类,具备班级和成绩两个特殊属性,以及查询成绩的特殊方法,覆盖基类的显示个人信息方法usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespac
5、eSchoolManagement{publicclassStudent:User{privatestringclassID;publicstringClassID{get{returnclassID;}set{classID=value;}}privatefloatstuScore;publicfloatStuScore{get{returnstuScore;}set{stuScore=value;}}publicStudent(){UserType="学生";}publicoverridevoidDisplayPersonInfo(){base.DisplayP
6、ersonInfo();Console.WriteLine("班级:{0}",classID);}publicvoidCheckScore(){Console.WriteLine("成绩:{0}",this.stuScore);}}}3)创建名为Teacher的派生类,具备部门和工资两个特殊属性,以及查询工资的特殊方法,覆盖基类的显示个人信息方法。usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceSchoolManagement{publicclassTeacher:User{
7、privatestringdepartment;//部门publicstringDepartment{get{returndepartment;}set{department=value;}}privatefloatsalary;//工资publicfloatSalary{get{returnsalary;}set{salary=value;}}publicTeacher(){UserType="教师";}publicoverridevoidDisplayPersonInfo(){base.DisplayPersonInfo();Console.WriteLin
此文档下载收益归作者所有