在Java中Person(人):定义 Patient(病人)和 Doctor(医生)的基类,包含基础的个人 信息。 o 属性:name(姓名),age(年龄),gender(性别)
时间: 2024-12-08 22:16:04 浏览: 11
在Java中,你可以创建一个名为`Person`的基类来代表基本的人的信息,然后定义两个派生类`Patient`和`Doctor`,它们分别表示病人和医生。这样的设计实现了多态,每个子类可以扩展其父类的功能并添加特定于角色的属性。以下是简单的代码示例:
```java
// 定义基类 Person
public class Person {
private String name;
private int age;
private String gender;
// 构造函数、getter和setter
public Person(String name, int age, String gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
// getters and setters (省略)
// 公共方法,用于展示基本信息
public void displayInfo() {
System.out.println("Name: " + name + ", Age: " + age + ", Gender: " + gender);
}
}
// 派生类 Patient
public class Patient extends Person {
private String illness; // 病人特有的属性
public Patient(String name, int age, String gender, String illness) {
super(name, age, gender); // 调用父类构造函数
this.illness = illness;
}
// getters and setters (省略)
// 如果需要,可以在Patient类中覆盖displayInfo()方法以显示更多信息
@Override
public void displayInfo() {
super.displayInfo();
System.out.println("Illness: " + illness);
}
}
// 派生类 Doctor
public class Doctor extends Person {
private String specialty; // 医生特有的属性
public Doctor(String name, int age, String gender, String specialty) {
super(name, age, gender);
this.specialty = specialty;
}
// getters and setters (省略)
// 同样,可以在Doctor类中覆盖displayInfo()方法
@Override
public void displayInfo() {
super.displayInfo();
System.out.println("Specialty: " + specialty);
}
}
阅读全文