利用类的继承机制描述‘人’,‘学生’,‘本科生’,‘研究生’。要求在类中定义出类成员的属性和方法,以及必要的解释。
时间: 2024-11-14 16:20:04 浏览: 5
我们可以利用类的继承机制创建一个基础类“人”,然后派生出更具体的类别如“学生”、“本科生”和“研究生”。这里是一个简单的例子:
```java
// 基础类 - 人
class Person {
private String name;
private int age;
// 构造函数
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 获取和设置属性
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) { this.age = age; }
// 简单的生活方法,如打招呼
public void sayHello() {
System.out.println("你好,我是" + name);
}
}
// 子类 - 学生
class Student extends Person {
private String major; // 专业
public Student(String name, int age, String major) {
super(name, age); // 调用父类构造函数
this.major = major;
}
// 获取和设置专业
public String getMajor() { return major; }
public void setMajor(String major) { this.major = major; }
// 学生特有的方法,如学习
public void study() {
System.out.println(name + "正在学习...");
}
}
// 进一步细化的子类 - 本科生和研究生
class UndergraduateStudent extends Student {
// 本科阶段可能没有特殊属性或方法,但在实际应用中可以添加
}
class GraduateStudent extends Student {
private String supervisor; // 导师
public GraduateStudent(String name, int age, String major, String supervisor) {
super(name, age, major); // 调用上一级父类构造函数
this.supervisor = supervisor;
}
// 获取和设置导师
public String getSupervisor() { return supervisor; }
public void setSupervisor(String supervisor) { this.supervisor = supervisor; }
// 研究生特有的方法,如撰写论文
public void writeThesis() {
System.out.println(name + "正在撰写毕业论文...");
}
}
```
在这个结构中,“人”作为父类提供了一些通用属性(如姓名、年龄)和行为(如打招呼)。子类“学生”继承了这些属性和行为,并添加了自己的专业信息和学习方法。而“本科生”和“研究生”进一步扩展了特性,例如导师信息和特有的研究活动。
阅读全文