Tutorial 9 Lecturer: Ken Jackson Tutor: Andria Hunter ========== Friday Tutorial Section: 980313 @1pm (MP102) Tuesday Tutorial Section: 980317 @6pm (RW142) CSC 108, Spring 1998 Tutorial notes, T9 ================================================================== - A3 is due - Problem 8.14, pg 327 - answer any questions (about the project) Programming Projects -------------------- 8.14 Design and implement a set of classes that define the employees of a hospital: doctor, nurse, administrator, surgeon, receptionist, janitor, and so on. Include methods in each class that are named accoring to the services provided by that person and that print an appropriate message. Create a main method to instantiate and exercise several of the classes. Hospital Employee / | \ Administration Patient Maintenance Personnel Care Staff / | \ / \ / \ Secretary Administrator Receptionist Nurse Doctor Janitor Caretaker | Surgeon Variables and Methods --------------------- Level 1: Hospital_Employee - name, address, phone, employee_number - work(), print() Level 2: Administration_Personnel - word_process() Patient_Care - permit_number, permit_expiry_date - see_patients() Maintenance_Staff - carry_keys() Level 3: Secretary - schedule_meeting(), print() Administrator - order_equipment(), print() Receptionist - answer_phone(), print() Nurse - give_medicine(), print() Doctor - prescribe_drugs(), examine_patient(), print() Janitor - sweep() Caretaker - make_repairs() Level 4: Surgeon - cutting() Note: Since Janitor and Caretaker don't have a print() method, they will inherit it from the Hospital_Employee class. Since Surgeon doesn't have a print() method, it will inherit it from the Doctor class. Implementation -------------- public class Hospital { public static void main (String[] args) { Hospital_Employee hospital = new Hospital_Employee (...); Patient_Care pc = new Patient_Care (...); Doctor doc = new Doctor (...); Surgeon surgeon = new Surgeon (...); hospital.print(); pc.print(); doc.print(); surgeon.print(); } class Hospital_Employee { String name, address, phone; int employee_number; public Hospital_Employee (String name, String address, String phone, int employee_number) { this.name = name; this.address = address; this.phone = phone; this.employee_number = employee_number; } public void print () { System.out.println("Hospital Employee Data..."); System.out.println("Name: "+name); System.out.println("Address: "+address); System.out.println("Phone Number: "+phone); System.out.println("Employee Number: "+employee_number); } } class Patient_Care extends Hospital_Employee { int permit_number; String permit_expiry_date; public Patient_Care (String name, String address, String phone, int employee_number, String permit_number, String permit_expiry_date) { super(name, address, phone, employee_number); this.permit_number = permit_number; this.permit_expiry_date = permit_expiry_date; } } class Doctor extends Patient_Care { public Doctor (String name, String address, String phone, int employee_number, String permit_number, String permit_expiry_date) { super(name, address, phone, employee_number, permit_number, permit_expiry_date); } public void print () { System.out.println("Hospital Doctor Employee Data..."); System.out.println("Name: "+name); System.out.println("Address: "+address); System.out.println("Phone Number: "+phone); System.out.println("Employee Number: "+employee_number); System.out.println("Permit Number: "+permit_number); System.out.println("Permit Expiry Date: "+permit_expiry_date); } } class Surgeon extends Doctor { public Surgeon (String name, String address, String phone, int employee_number, String permit_number, String permit_expiry_date) { super(name, address, phone, employee_number, permit_number, permit_expiry_date); } }