# 基于继承关系改进学生选课模拟系统
#### 介绍
基于实验二,利用继承关系改进学生选了模拟系统
#### 实验目的
1.掌握权限访问控制修饰符的使用。
2.掌握继承的使用。
#### 业务要求
1.保持实验二的代码和 readme 版本不变;
2.新建代码仓库,在实验二代码的基础上完成本次实验;
3.业务过程同实验二,但在类的设计上,采用父类-子类的继承关系定义。
4.测试实体类分别存放于不同的 package 中,验证权限访问控制、继承后属性及方法的可见性。
#### 实验要求
1.提交源程序到 gitee 或 GitHub;
2.代码仓库命名为“实验三继承关系”写实验报告文件(readme.md);
3.体现本次实验在实验二基础上的改进;
#### 解题步骤
1.基于实验二的程序,找出拥有共同属性的不同类。如 Teacher 和 Student 都属于“人”。
2.根据 1 中关系,创建一个包含 Teacher 和 Student 中共同属性的父类 Person。
3.在父类 Person 中定义 Student 和 teacher 共有的属性,即:“Name”,“Id”,“sex”。
4.在父类中创建子类共有的方法。
5.除上述操作外,其余部分保持不变。
#### 核心代码
1.父类:共同属性和方法包括 Id,Name,sex
```#
public class Person {
protected int Id;
protected String Name;
protected String sex;
public Person() {
}
public int getId() {
return Id;
}
public void setId(int Id) {
this.Id = Id;
}
public String getName() {
return Name;
}
public void setPerName(String Name) {
this.Name = Name;
}
public String getsex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
```
2.删除实验二中子类的共同属性
(1)Teacher
```#
public class Teacher extends Person {
// private String Name;
// private int Id;
// private String sex;
private Course[] cours;
public Teacher() {
cours= new Course[3];
}
public Teacher(int Id,String Name,String sex){
this.Id = Id;
this.Name = Name;
this.sex = sex;
cours = new Course[3];
}
// public int getId() {
// return Id;
// }
// public void setId(int Id) {
// this.Id = Id;
// }
// public String getSex() {
// return sex;
// }
// public void setSex(String sex) {
// this.sex = sex;
// }
// public String getName() {
// return Name;
// }
// public void setTeacherName(String Name) {
// this.Name = Name;
// }
```
(2)student
```#
public class Student extends Person{
// private String stuName;
// private int stuId;
// private String sex;
private String Zhuanye;
private String Minzu;
private Course[] courses;
public Student() {
courses = new Course[3];
}
public Student(int stuId,String stuName,String sex,String minzu,String zhuanye) {
this.Id = stuId;
this.Name = stuName;
this.sex = sex;
this.Minzu = minzu;
this.setZhuanye(zhuanye);
courses = new Course[3];
}
// public String getStuName() {
// return stuName;
// }
//
// public void setStuName(String stuName) {
// this.stuName = stuName;
// }
// public int getStuId() {
// return stuId;
// }
// public void setStuId(int stuId) {
// this.stuId = stuId;
// }
// public String getsex() {
// return sex;
// }
// public void setsex(String sex) {
// this.sex = sex;
// }
```
#### 系统运行截图
![](https://www.writebug.com/myres/static/uploads/2022/7/26/bb57a6ec2246aeacad5a70d242038fb7.writebug)
![](https://www.writebug.com/myres/static/uploads/2022/7/26/d0acc2f12f0fca8fe0ece749f4644784.writebug)
#### 感想与体会
通过本次实验,我加深了对面性对象程序设计和继承关系的使用;深化了继承的使用方法,通过继承可以实现代码的复用,简化代码,为子类的属性和方法提供了极大的便利。所以在以后写程序的学习中应该把握程序中的继承关系,找到父类子类,可以提高效率,减少很多无用、重复的代码。
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
通过本次实验,我加深了对面性对象程序设计和继承关系的使用;深化了继承的使用方法,通过继承可以实现代码的复用,简化代码,为子类的属性和方法提供了极大的便利。所以在以后写程序的学习中应该把握程序中的继承关系,找到父类子类,可以提高效率,减少很多无用、重复的代码。
资源推荐
资源详情
资源评论
收起资源包目录
100011786-基于Java继承关系改进(控制台)学生选课模拟系统.zip (8个子文件)
person
Teacher.java 2KB
LICENSE 1KB
TestXuanke.java 2KB
Course.java 4KB
Student.java 3KB
README.en.md 931B
Person.java 541B
README.md 4KB
共 8 条
- 1
资源评论
神仙别闹
- 粉丝: 2674
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功