Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Modify the Ward class and build a Bed class to work with the other classes. Java programming. ************************* Other classes complete already. Person,Patient,Doctor,Surgeon: //Person.java /**

Modify the Ward class and build a Bed class to work with the other classes. Java programming.

image text in transcribed

*************************

Other classes complete already. Person,Patient,Doctor,Surgeon:

image text in transcribedimage text in transcribed

//Person.java /** * The model of a person who has a name and a health number * that cannot be changed. */ public abstract class Person { /** * The name of the person. */ private String pname; /** * The health number of the person. */ private int healthNum; private int age; private String address; /** * Initialize an instance with the given name and health number. * * @param pName the person's name * @param pNumber the person's health number */ public Person(String pname, int age, String address) { this.pname = pname; this.age = age; this.address = address; } /** * Return the name of the person. * * @return the name of the person */ public String getName() { return pname; } /** * Return the health number of the person. * * @return the health number of the person */ public int getHealthNumber() { return healthNum; } /** * Change the name of the person. * * @param newName the name of the person */ public void setName(String newName) { pname = newName; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } /** * Return a string representation of the person. * * @return a string representation of the person */ @Override public String toString() { return "Name: "+pname+" Age: "+age+" Address: "+address; } } /** * A method to test the Person class. */

//Patient.java import java.util.LinkedList; public class Patient extends Person{ String bedReference; LinkedList doctors; public Patient(String pName, int pNumber, String pAddress) { super(pName, pNumber, pAddress); this.doctors = new LinkedList(); } public String getBedReference() { return bedReference; } public void setBedReference(String bedReference) { this.bedReference = bedReference; } public LinkedList getDoctors() { return doctors; } public void setDoctors(LinkedList doctors) { this.doctors = doctors; } @Override public String toString() { String text=""; if(bedReference!=null) { text+="Patient: "+this.getName()+" Health number: "+this.getHealthNumber()+" Bed reference: "+this.getBedReference(); if(!doctors.isEmpty()) { text+=" Doctors: "; for (Person person : doctors) { text+="\t"+person.getName()+" "; } } } else { text+="Patient: "+this.getName()+" Health number: "+this.getHealthNumber(); if(!doctors.isEmpty()) { text+=" Doctors: "; for (Person person : doctors) { text+="\t"+person.getName()+" "; } } } return text; } public static void main(String[] args) { }

// Doctor.java import java.util.LinkedList; import java.util.List; public class Doctor extends Person implements BasicDoctor{ String department; int experience; public List patients; public Doctor(String name, int age, String address, int experience, String department) { super(name, age, address); this.experience = experience; patients=new LinkedList(); this.department=department; } public List getPatients() { return patients; } public void addPatient(Person patient) { this.patients.add(patient); } public void setExperience(int experience) { this.experience = experience; } // @Override //public String getName() { //return /ame; //} public int getExperience() { return experience; } @Override public Person checkUp() throws Exception { if(this.patients.isEmpty()) throw new Exception("No patients to be checked up"); return this.patients.remove(0); } @Override public String toString() { return "Doctor: "+getName()+" Age: "+getAge()+" Address: "+getAddress()+" Designation: "+department+" With experience of: "+experience; } }

// Surgeon.java public class Surgeon extends Doctor{ public Surgeon(String name, int age, String address, int experience, String department) { super(name, age, address, experience, department); } @Override public String toString() { return "Surgeon: "+getName()+" Age: "+getAge()+" Address: "+getAddress()+" Designation: "+department+" With experience of: "+experience; } }

// interface BasicDoctor.java // all are in package card public interface BasicDoctor { public Person checkUp() throws Exception; }

Modifications to Ward class: The Ward class from Assignment 2 should be modified so that the array is now a linked list of type Bed. When this change is made, a number of the methods will need to be changed in order to be consistent with type Bed being stored in the linked list. In addition, two methods need to be added to the Ward class. The first is to obtain an empty bed of the correct purpose in the ward if one exists. The second one is to remove a Patient from a specific bed. These changes are to be done to the existing Ward class, i.e, you are not define a descendant of Ward. When you create a Ward object, you must also specify how many of each of the three beds (by purpose) the ward has. It is ok to specify 0 if no beds of that type exist in the ward. Bed class: This class represents beds in the ward. Each bed knows (has a reference to) which ward it belongs to. It also has a reference to the patient that is in the bed (null if it is empty). It will require methods to assign a patient to the bed (where it can refuse if a patient already exists) and to remove a patient when the patient leaves the bed. Also provide a method isEmpty0 returning true if the bed is empty and false otherwise. Along with the properties of ward and patient, each bed has a label (string identifying the bed, ex. "Bed1") anda purpose: general care burn recovery . surgical recovery Modifications to Ward class: The Ward class from Assignment 2 should be modified so that the array is now a linked list of type Bed. When this change is made, a number of the methods will need to be changed in order to be consistent with type Bed being stored in the linked list. In addition, two methods need to be added to the Ward class. The first is to obtain an empty bed of the correct purpose in the ward if one exists. The second one is to remove a Patient from a specific bed. These changes are to be done to the existing Ward class, i.e, you are not define a descendant of Ward. When you create a Ward object, you must also specify how many of each of the three beds (by purpose) the ward has. It is ok to specify 0 if no beds of that type exist in the ward. Bed class: This class represents beds in the ward. Each bed knows (has a reference to) which ward it belongs to. It also has a reference to the patient that is in the bed (null if it is empty). It will require methods to assign a patient to the bed (where it can refuse if a patient already exists) and to remove a patient when the patient leaves the bed. Also provide a method isEmpty0 returning true if the bed is empty and false otherwise. Along with the properties of ward and patient, each bed has a label (string identifying the bed, ex. "Bed1") anda purpose: general care burn recovery . surgical recovery

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Finance The Role Of Data Analytics In Manda Due Diligence

Authors: Ps Publishing

1st Edition

B0CR6SKTQG, 979-8873324675

More Books

Students also viewed these Databases questions

Question

Why are guaranteed bonds not considered risk free?

Answered: 1 week ago