2.编写一个类Student,该类拥有属性:校名、学号、性别、出生日期。方法包含设置姓名和成绩(setName(),setScore()),再编写Student类的子类UndergraduateUnd
时间: 2024-10-21 09:17:57 浏览: 62
好的,首先我们来创建一个名为`Student`的基础类,它将包含你提到的属性以及设置姓名和成绩的方法:
```java
public class Student {
private String schoolName; // 校名
private int studentID; // 学号
private String gender; // 性别
private Date birthDate; // 出生日期
public Student(String schoolName, int studentID, String gender, Date birthDate) {
this.schoolName = schoolName;
this.studentID = studentID;
this.gender = gender;
this.birthDate = birthDate;
}
// 设置姓名方法
public void setName(String name) {
this.name = name; // 这里假设有一个name属性,但题目中未给出,可能是笔误
}
// 设置成绩方法
public void setScore(int score) {
this.score = score; // 同样,这里假设有一个score属性
}
// 获取信息的方法,用于示例
public String getSchoolName() {
return schoolName;
}
// ...其他获取属性的方法省略
// 上述方法的具体实现可以根据实际需要添加
}
```
然后我们可以创建一个子类`UndergraduateStudent`,这个子类通常会有一些特殊的属性或方法:
```java
public class UndergraduateStudent extends Student {
private String major; // 专业
private double gpa; // 平均绩点
public UndergraduateStudent(String schoolName, int studentID, String gender, Date birthDate, String major, double gpa) {
super(schoolName, studentID, gender, birthDate);
this.major = major;
this.gpa = gpa;
}
// 如果有特定于本科学生的设置方法,可以在此添加
public void setMajor(String major) {
this.major = major;
}
// 获取专业方法
public String getMajor() {
return major;
}
// ...其他子类特有的方法
}
// 示例如何创建一个UndergraduateStudent对象
UndergraduateStudent undergraduate = new UndergraduateStudent("清华大学", 123456, "男", new Date(), "计算机科学", 3.8);
undergraduate.setName("张三");
undergraduate.setScore(90);
```
阅读全文