Define a class named Doctor whose objects are records for a clinic‚??s doctors. Derive this class from the class Person given in Listing 8.1. A Doctor record has the doctor‚??s name‚??defined in the class Person‚??a specialty as a string (for example Pediatrician, Obstetrician, General Practitioner, and so on), and an office visit fee (use the type double). Give your class a reasonable complement of constructors and accessor methods, and an equals method as well.
Further, define two classes: Patient and Billing, whose objects are records for a clinic. Derive Patient from the class Person given in Listing 8.1. A Patient record has the patient‚??s name (defined in the class Person) and identification number (use the type String). A Billing object will contain a Patient object and a Doctor object. Give your classes a reasonable complement of constructors and accessor methods, and an equals method as well. Write a test program that creates at least two patients, at least two doctors, and at least two Billing records and then displays the total income from the Billing records.