• Implement the following classes ( use Java ) : • Class Person (abstract superc
ID: 3938326 • Letter: #
Question
• Implement the following classes ( use Java ) :
• Class Person (abstract superclass) • protected member variable id of type int.
• A constructor which initializes id.
• Class Employee (subclass of Person) • private member variable name of type String
• Overloaded constructor
• Takes in two parameters, for name and id.
• Initialization: name initialization is done by Employee constructor;
id initialization is done by the Person constructor.
• overrides equal method of the Object class that will compare two employees
• Two employees are the same if they have same id and name.
• Class EmployeeApp which has a main method
• Create an Employee array of size 3
• Accepts user input for name and id for 3 employees; creates 3 Employee objects and stores them in the array.
.Use Constructors of both the classes to initialize the objects.
• Using the equals method you implemented, compare:
• Employee object at index 0 and index 1
• Employee object at index 1 and index 2
• Employee object at index 0 and index 2
and specify if employees are distinct or same.
Explanation / Answer
Person.java:
public abstract class Person {
protected int id;
public Person(int id){
this.id =id;
}
}
Employee.java
public class Employee extends Person {
private String name;
public Employee(int id, String name){
super(id);
this.name = name;
}
public boolean equals (Employee emp){
boolean isEqual = false;
if ((this.name).equalsIgnoreCase( emp.name)){
if(this.id == emp.id){
isEqual =true;
}
else{
isEqual = false;
}
}
else{
isEqual = false;
}
return isEqual;
}
}
EmployeeApp.java
import java.util.Scanner;
public class EmployeeApp {
public static void main(String[] args) {
Employee employeeArr[]= new Employee[3];
int counter=0;
Scanner scanner = new Scanner(System.in);
while (counter<3) {
System.out.print("Enter Id : ");
String id = scanner.nextLine();
System.out.print("Enter Name : ");
String name = scanner.nextLine();
Employee emp =new Employee( new Integer(id), name);
employeeArr[counter]= emp;
counter++;
}
System.out.println("Comparing Employee object at index 0 and index 1 :");
boolean isEqual1 = employeeArr[0].equals(employeeArr[1]);
if(isEqual1){
System.out.println("Employee object at index 0 and index 1 are equal");
}
else {
System.out.println("Employee object at index 0 and index 1 are not equal");
}
System.out.println("Comparing Employee object at index 1 and index 2 :");
boolean isEqual2 = employeeArr[1].equals(employeeArr[2]);
if(isEqual2){
System.out.println("Employee object at index 1 and index 2 are equal");
}
else {
System.out.println("Employee object at index 1 and index 2 are not equal");
}
System.out.println("Comparing Employee object at index 0 and index 2 :");
boolean isEqual3 = employeeArr[0].equals(employeeArr[2]);
if(isEqual3){
System.out.println("Employee object at index 0 and index 2 are equal");
}
else {
System.out.println("Employee object at index 0 and index 2 are not equal");
}
}
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.