一、实验目的
通过设计一个简化的医院患者管理系统,让我们们深入理解并实践Java中的继承、多态性、特殊类使用、对象引用转换、访问控制符以及final修饰符等知识点。
二、实验学时
2学时
三、实验类型
验证性
四、实验需求
1、硬件
每人配备计算机1台,建议优先使用个人计算机开展实验。
2、软件
安装IntelliJ IDEA,以及Java运行所需要的相关基础环境。
3、网络
本地主机能够访问互联网和实验中心网络。
4、工具
无。
五、实验任务
设计一个包含普通患者和VIP患者的医院患者管理系统,实现患者信息的录入、显示以及根据患者类型执行特定操作(如VIP患者享受特殊服务)。
六、实验内容及步骤
1、类设计与继承
- 设计一个Patient基类,包含患者的基本信息(如姓名、年龄等)和基本信息显示方法。
- 设计VIPPatient类继承自Patient类,增加VIP患者的特有属性和方法(如VIP等级、享受的服务等)。
- 示例代码片段
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、多态性的应用
- 编写一个方法,接受Patient类型的参数,并调用其displayInfo()方法,以展示多态性的效果。
- 示例代码片段。
public void showPatientInfo(Patient patient) {
patient.displayInfo();
}
3、特殊类的使用
- 在系统中,可以利用Object类的通用方法(如toString())来增强患者对象的描述能力。
- 可以在适当的地方使用Class类来获取对象的运行时类信息。
4、对象引用转换和访问继承成员
- 展示如何将Patient类型的引用转换为VIPPatient类型(注意类型转换的安全性)。
- 通过转换后的引用访问VIP患者的特有属性和方法。
5、访问控制符
- 合理使用访问控制符来限制对类成员的访问,确保类的封装性。
- final修饰符的使用
6、将某些不应被修改的患者信息(如身份证号)声明为final。
将某些不应被修改的患者信息(如身份证号)声明为final。
实验步骤:
- 根据上述设计,编写完整的Java类文件。
- 实现患者信息的录入功能(可以通过构造函数或setter方法)。
- 编写测试类,创建不同类型的患者对象,并调用相应的方法验证功能。
- 编写代码示例来展示多态性、对象引用转换等概念的应用。
- 调试代码,确保系统能够正确运行并满足需求。
七、实验考核
本实验考核采用【实验随堂查】方式开展。
每个实验完成后,在实验课上通过现场演示的方式向实验指导教师进行汇报,并完成现场问答交流。
每个实验考核满分100分,其中实验成果汇报60分,现场提问交流40分。
实验考核流程:
(1)学生演示汇报实验内容的完成情况,实验指导老师现场打分。
(2)指导老师结合实验内容进行提问,每位学生提问2-3个问题,根据回答的情况现场打分。
(3)实验考核结束后,进行公布成绩。