四 编写复杂程序(2题共40分) 、面向抽象编程是指设计一个类时,不让该类面向具体的类,而是面向抽象类或接口,即所设计类中的重要数据是抽象类或接口声明的变量。要求以面向抽象编程设计医疗仪器警报声“模拟器”,希望所设计的模拟器可以模拟许多警报的叫声。 (1)定义抽象类MedicalDevice,里面包含无参数返回的抽象方法alarm()和返回String类型的方法getDeviceName(),用于返回报警仪器名称。 (2)定义模拟器Simulator类里面包含抽象数据成员变量对象数据类型为Device以及相应的setDevice方法用于设置成员变量Device对象的值。定义playSound方法用于在屏幕上打印出产生报警仪器的名称以及产生警报(调用alarm()和getDeviceName()方法)。 (3)定义心电监护仪ECGmonitor类继承于MedicalDevice类,并实现alarm()方法和 getDeviceName()方法。 (4)定义呼吸机Ventilator类继承于MedicalDevice类,并实现alarm()方法和 getDeviceName()方法。 (5)定义主类并测试模拟器类对象。
时间: 2024-03-18 07:41:00 浏览: 46
面向对象程序设计期末复习题资料
5星 · 资源好评率100%
(1) 定义抽象类MedicalDevice
```java
public abstract class MedicalDevice {
public abstract void alarm();
public abstract String getDeviceName();
}
```
(2) 定义模拟器Simulator类
```java
public class Simulator {
private MedicalDevice device;
public void setDevice(MedicalDevice device) {
this.device = device;
}
public void playSound() {
System.out.println("警报仪器名称:" + device.getDeviceName());
device.alarm();
}
}
```
(3) 定义心电监护仪ECGmonitor类
```java
public class ECGmonitor extends MedicalDevice {
@Override
public void alarm() {
System.out.println("心电监护仪报警声响起!");
}
@Override
public String getDeviceName() {
return "心电监护仪";
}
}
```
(4) 定义呼吸机Ventilator类
```java
public class Ventilator extends MedicalDevice {
@Override
public void alarm() {
System.out.println("呼吸机报警声响起!");
}
@Override
public String getDeviceName() {
return "呼吸机";
}
}
```
(5) 定义主类并测试模拟器类对象
```java
public class Main {
public static void main(String[] args) {
MedicalDevice device1 = new ECGmonitor();
MedicalDevice device2 = new Ventilator();
Simulator simulator = new Simulator();
simulator.setDevice(device1);
simulator.playSound();
simulator.setDevice(device2);
simulator.playSound();
}
}
```
阅读全文