智能医学工程-计算机程序设计-实验06:继承与多态

265 阅读3分钟

一、实验目的

通过设计一个简化的医院患者管理系统,让我们们深入理解并实践Java中的继承、多态性、特殊类使用、对象引用转换、访问控制符以及final修饰符等知识点。

二、实验学时

2学时

三、实验类型

验证性

四、实验需求

1、硬件

每人配备计算机1台,建议优先使用个人计算机开展实验。

2、软件

安装IntelliJ IDEA,以及Java运行所需要的相关基础环境。

3、网络

本地主机能够访问互联网和实验中心网络。

4、工具

无。

五、实验任务

设计一个包含普通患者和VIP患者的医院患者管理系统,实现患者信息的录入、显示以及根据患者类型执行特定操作(如VIP患者享受特殊服务)。

六、实验内容及步骤

1、类设计与继承

  1. 设计一个Patient基类,包含患者的基本信息(如姓名、年龄等)和基本信息显示方法。
  2. 设计VIPPatient类继承自Patient类,增加VIP患者的特有属性和方法(如VIP等级、享受的服务等)。
  3. 示例代码片段‌
public class Patient {  
private String name;  
private int age;  
public Patient(String name, int age) {  
this.name = name;  
this.age = age;  
}  
public void displayInfo() {  
System.out.println("Name: " + name + ", Age: " + age);  
}  
*// 省略其他方法和属性*

}  
public class VIPPatient extends Patient {  
private int vipLevel;  
public VIPPatient(String name, int age, int vipLevel) {  
super(name, age);  
this.vipLevel = vipLevel;  
}  
@Override public void displayInfo() {  
super.displayInfo();  
System.out.println("VIP Level: " + vipLevel);  
}  
*// VIP患者特有的方法和服务*
}

2、多态性的应用

  1. 编写一个方法,接受Patient类型的参数,并调用其displayInfo()方法,以展示多态性的效果。
  2. 示例代码片段‌。
public void showPatientInfo(Patient patient) {  
patient.displayInfo();  
}

3、特殊类的使用

  1. 在系统中,可以利用Object类的通用方法(如toString())来增强患者对象的描述能力。
  2. 可以在适当的地方使用Class类来获取对象的运行时类信息。

4、对象引用转换和访问继承成员

  1. 展示如何将Patient类型的引用转换为VIPPatient类型(注意类型转换的安全性)。
  2. 通过转换后的引用访问VIP患者的特有属性和方法。

5、‌访问控制符

  1. 合理使用访问控制符来限制对类成员的访问,确保类的封装性。
  2. final修饰符的使用

6、将某些不应被修改的患者信息(如身份证号)声明为final。

将某些不应被修改的患者信息(如身份证号)声明为final。

实验步骤‌:

  1. 根据上述设计,编写完整的Java类文件。
  2. 实现患者信息的录入功能(可以通过构造函数或setter方法)。
  3. 编写测试类,创建不同类型的患者对象,并调用相应的方法验证功能。
  4. 编写代码示例来展示多态性、对象引用转换等概念的应用。
  5. 调试代码,确保系统能够正确运行并满足需求。

七、实验考核

本实验考核采用【实验随堂查】方式开展。

每个实验完成后,在实验课上通过现场演示的方式向实验指导教师进行汇报,并完成现场问答交流。

每个实验考核满分100分,其中实验成果汇报60分,现场提问交流40分。

实验考核流程:

(1)学生演示汇报实验内容的完成情况,实验指导老师现场打分。

(2)指导老师结合实验内容进行提问,每位学生提问2-3个问题,根据回答的情况现场打分。

(3)实验考核结束后,进行公布成绩。