Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Design a class named Person and its two subclasses named Student and Employee. M

ID: 3668279 • Letter: D

Question

Design a class named Person and its two subclasses named Student and Employee. Make Faculty and Staff subclasses of Employee.

A person has a name, address, phone number, and email address. A student has a class status (freshman, sophomore, junior, or senior). Define the status as a constant. An employee has an office, salary, and date hired. Define a class named MyDate that contains the fields year, month, and day. A faculty member has office hours and a rank. A staff member has a title.

Override the toString method in each class to display the class name and the person’s name.Draw the UML diagram for the classes. Implement the classes. Write a test program that creates a Person, Student, Employee, Faculty, and Staff, and invokes their toString() methods.

Explanation / Answer

public class person { private String name, address, phone, email; public person() { } public person(String name, String address, String phone, String email) { this.name = name; this.address = address; this.phone = phone; this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getPhone() { return phone; } public void setPhone(String phone) { this.phone = phone; } public String getEmail() { return phone; } public void setEmail(String email) { this.email = email; } @Override public String toString() { return getClass().getName() + " " + name; } } public class student extends person { private final String CLASS_STATUS; public student(String CLASS_STATUS) { this.CLASS_STATUS =CLASS_STATUS; } public String getClassStatus() { return CLASS_STATUS; } } public class employee extends person { private String office,salary; private MyDate DATE_HIRED; public employee() { } public employee(String office, String salary, MyDate DATE_HIRED) { this.office = office; this.salary = salary; this.DATE_HIRED = DATE_HIRED; } public String office() { return office; } public void setOffice(String office) { this.office = office; } public String getSalary() { return salary; } public void setSalary(String salary) { this.salary = salary; } public MyDate getMyDate() { return DATE_HIRED; } } public class MyDate { private int month, day, year; public MyDate(int month, int day, int year) { this.day = day; this.month =month; this.year = year; } } public class faculty extends employee { private String office_hours, rank; public faculty() { } public faculty(String office_hours, String rank) { this.office_hours = office_hours; this.rank = rank; } public String getOfficeHours() { return office_hours; } public void setOfficeHours(String office_hours) { this.office_hours = office_hours; } public String getRank() { return rank; } public void setRank(String rank) { this.rank = rank; } } public class staff extends employee { private String title; public staff() { } public staff(String title) { this.title = title; } public String getTitle() { return title; } public void setTitle(String title) { this.title =title; } } public class Test { /** * @param args the command line arguments */ public static void main(String[] args) { Person person = new Person("John Doe", "123 Somewhere", "415-555-1212", "johndoe@somewhere.com"); Person student = new Student("Mary Jane", "555 School Street", "650-555-1212", "mj@abc.com", "junior"); Person employee = new Employee("Tom Jones", "777 B Street", "408-888-9999", "tj@xyz.com"); Person faculty = new Faculty("Jill Johnson", "999 Park Ave", "925-222-3333", "jj@abcxyz.com"); Person staff = new Staff("Jack I. Box", "21 Jump Street", "707-212-1112", "jib@jack.com"); System.out.println(person.toString() + " "); System.out.println(student.toString() + " "); System.out.println(employee.toString() + " "); System.out.println(faculty.toString() + " "); System.out.println(staff.toString() + " "); } }

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote