Question
Java programming. Need help fixing my code. It is almost done, but the constructor for doctor and surgeon is not working well, the name parameter
Java programming.
Need help fixing my code. It is almost done, but the constructor for doctor and surgeon is not working well, the name parameter specifically.
Also, need change BasicDoctor to an interface with the program. Five classes, Person (abstract), Patient, Doctor, Surgeon, BasicDoctor(interface).
-BasicDoctor at the bottem of question.
//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
// Doctor.java import java.util.LinkedList; import java.util.List; public class Doctor extends Person implements BasicDoctor{ String department; int experience; public List
// Surgeon.java import java.util.List; 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: "+name+" Age: "+getAge()+" Address: "+getAddress()+" Designation: "+department+" With experience of: "+experience; } }
// BasicDoctor.java
// TO EDIT
/**
* A very simple model of a doctor who has a name.
*/
public class BasicDoctor
{
/**
* The name of the doctor.
*/
private String name;
/**
* Initialize an instance of BasicDoctor with the given name.
*
* @param name the name of the doctor
*/
public BasicDoctor(String name)
{
this.name = name;
}
/**
* Return the name of the doctor
*
* @return the name of the doctor
*/
public String getName()
{
return name;
}
/**
* Return a string representation of the doctor
*
* @return a string representation of the doctor
*/
public String toString()
{
return " Name: " + name + " ";
}
/**
* A method to test the BasicDoctor class.
*/
public static void main(String[] args)
{
int numErrors = 0;
BasicDoctor d = new BasicDoctor("Joe");
System.out.println("BasicDoctor Joe is " + d + " ");
if (! d.getName().equals("Joe"))
{
System.out.println("The constructor or getName failed");
numErrors++;
}
d = new BasicDoctor("Mary");
System.out.println("BasicDoctor Mary is " + d + " ");
if (! d.getName().equals("Mary"))
{
System.out.println("The constructor or getName failed");
numErrors++;
}
System.out.println("The number of errors found is " + numErrors);
}
}
Modifications to BasicDoctor class; Even though BasicDoctor exists, we have no basic doctors in the hospital. Thus we want to disallow an instantiation of a BasicDoctor. Also, this class should NOT inherit from Person. A BasicDoctor is not a person. Doctor and Surgeon are Persons however. Thus this class is to be altered to an InterfaceStep by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started