Create a class named Patient that includes an ID number, age, and BloodData. Pro
ID: 643296 • Letter: C
Question
Create a class named Patient that includes an ID number, age, and BloodData. Provide a default constructor that sets the ID number to "0", the age to 0, and the BloodData to "O" and "+". Create an overloaded constructor that provides values for each field. Also provide get methods for each field. Save the file as Patient.java. Create an application named TestPatient that demonstrates that each method works correctly, and save it as TestPatient.java.
**Note: Please make sure the directions are followed carefully. Both a default constructor and an overloaded constructor are needed. The output cannot look like it does below, thank you!**
Explanation / Answer
Patient.java
public class Patient {
private int ID ;
private int Age;
private String BloodData1;
private String BloodData2;
private String BloodData3;
private String BloodData4;
Patient()
{
ID = 0;
Age = 0;
BloodData1 = "O";
BloodData2 = "AB";
BloodData3 = "B";
BloodData4 = "A";
}
Patient(int num1,int num2,String str1,String str2,String str3,String str4)
{
this();
/*this() is used for calling the default
* constructor from parameterized constructor.
* It should always be the first statement
* in constructor body.
*/
ID = ID+ num1;
Age = Age+num2;
BloodData1 = BloodData1+str1;
BloodData2 = BloodData2+str2;
BloodData3 = BloodData3+str3;
BloodData4 = BloodData4+str4;
}
public int getID()
{
return ID;
}
public void setID(int ID)
{
this.ID = ID;
}
public int getAge()
{
return Age;
}
public void setAge(int Age)
{
this.Age = Age;
}
public String getBloodData1()
{
return BloodData1;
}
public void setBlooData1(String BloodData1)
{
this.BloodData1=BloodData1;
}
public String getBloodData2()
{
return BloodData2;
}
public void setBlooData2(String BloodData2)
{
this.BloodData2=BloodData2;
}
public String getBloodData3()
{
return BloodData3;
}
public void setBlooData3(String BloodData3)
{
this.BloodData3=BloodData3;
}
public String getBloodData4()
{
return BloodData4;
}
public void setBlooData4(String BloodData4)
{
this.BloodData4=BloodData4;
}
}
TestPatient.java
public class TestPatient {
public static void main(String[] args) {
// TODO Auto-generated method stub
//This object creation would call the default constructor
Patient mydata1 = new Patient();
System.out.println("ID number : "+mydata1.getID());
System.out.println("Age :"+mydata1.getAge());
System.out.println("BloodGroup : "+mydata1.getBloodData1());
System.out.println("BloodGroup : "+mydata1.getBloodData2());
System.out.println("BloodGroup : "+mydata1.getBloodData3());
System.out.println("BloodGroup : "+mydata1.getBloodData3());
Patient mydata2 = new Patient(23,45,"AB-","B+","AB+","O+");
System.out.println("ID number : "+mydata2.getID());
System.out.println("Age : "+mydata2.getAge());
System.out.println("BloodGroup : "+mydata2.getBloodData1());
System.out.println("BloodGroup : "+mydata2.getBloodData2());
System.out.println("BloodGroup : "+mydata2.getBloodData3());
System.out.println("BloodGroup : "+mydata2.getBloodData3());
}
}
As you can see in the above program that we called arg-constructor during object creation (Patient mydata2 = new Patient(23,45,"AB-","B+","AB+","O+");. However since we have placed the this() statement inside it, the default constructor implicitly being called from it
so the values are overloaded with the previous as
Before
ID number : 0
Age :0
BloodGroup : O
BloodGroup : AB
BloodGroup : B
BloodGroup : B
After
ID number : 23
Age : 45
BloodGroup : OAB-
BloodGroup : ABB+
BloodGroup : BAB+
BloodGroup : BAB+
Intitally the ID number,age.bloodgropus are displayed as given,but when the constructor is overloaded they have been replaced as(O,AB-)=(OAB-) etc.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.