如何在Java中定义一个共同的基类来表示病人和医生这两种对象?
时间: 2024-11-29 13:37:29 浏览: 4
在Java中,你可以通过创建一个抽象类或者接口来定义一个共同的基类,以便表示病人(Patient)和医生(Doctor)这两种对象。这里我们举个例子:
**使用抽象类的方式**:
```java
// 定义一个名为Person的抽象类,包含一些共享的属性如姓名和ID
public abstract class Person {
private String name;
private int id;
// 共享的方法,例如基本信息的getter和setter
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getId() { return id; }
public void setId(int id) { this.id = id; }
// 纯虚方法(abstract方法),需要子类去实现
public abstract String getProfession();
}
// 分别为Patient和Doctor类,它们都是Person的子类,并实现getProfession方法
class Patient extends Person {
@Override
public String getProfession() {
return "病人";
}
}
class Doctor extends Person {
@Override
public String getProfession() {
return "医生";
}
}
```
**使用接口的方式**:
```java
// 定义一个Person接口
interface Person {
String getName();
void setName(String name);
String getProfession();
}
// 分别为Patient和Doctor接口实现者
class Patient implements Person {
private String name;
private int id;
@Override
public String getName() { return name; }
@Override
public void setName(String name) { this.name = name; }
@Override
public String getProfession() {
return "病人";
}
}
class Doctor implements Person {
private String name;
private int id;
@Override
public String getName() { return name; }
@Override
public void setName(String name) { this.name = name; }
@Override
public String getProfession() {
return "医生";
}
}
```
阅读全文