Using concept of classes, inheritance, arrays, and other OOP concepts, design an
application for an online employee database to keep track of the names, addresses, phone
numbers, emails, employee designation, and salary. Your application should be able to
handle a maximum of 50 entries.
Task 1: Define a class Address that can store a street address, city, state, and zip code. Use
the appropriate methods to print and store the address (Hint: Accessor and Mutators
methods). Also, use constructors to automatically initialize the data members. (5 marks)
Task 2: Define the classes Person (Table 1) and ExtPerson. For ExtPerson, add a data
member to classify the person as executive, operational management, and technical staff.
Also, add data members to store the phone number, email, employee designation, and
salary. Add (or override) methods to print and store the appropriate information. Use
constructors to automatically initialize the data members. (5 marks)
Person
String firstName
String lastName
Person()
Person(String, String)
String toString()
setName(String, String)
getFirstName()
getLastName()
Table 1
Task 3: Define the class AddressBook using classes as created in Task 1 and Task 2. An
object of type AddressBook should be able to process a maximum of 50 entries. The
program should be able to perform the following operations: (10 marks)
1) Load the data into the employee address book through user entries
2) Search for a person by the last name, first name
3) Sort the address book by the last name
4) Print the information of all the employees
5) Print the information of a specific employee
Using concept of classes, inheritance, arrays, and other OOP concepts, design an application for an online employee database to keep track of the names, addresses, phone numbers, emails, employee designation, and salary. Your application should be able to handle a maximum of 50 entries. Task 1: Define a class Address that can store a street address, city, state, and zip code. Use the appropriate methods to print and store the address (Hint: Accessor and Mutators methods). Also, use constructors to automatically initialize the data members. (5 marks) Task 2: Define the classes Person (Table 1) and ExtPerson. For ExtPerson, add a data member to classify the person as executive, operational management, and technical staff. Also, add data members to store the phone number, email, employee designation, and salary. Add (or override) methods to print and store the appropriate information. Use constructors to automatically initialize the data members. (5 marks) Person String firstName String lastName Person() Person(String, String) String toString() setName(String, String) getFirstName() getLastName() Table 1 Task 3: Define the class AddressBook using classes as created in Task 1 and Task 2. An object of type AddressBook should be able to process a maximum of 50 entries. The program should be able to perform the following operations: (10 marks) 1) Load the data into the employee address book through user entries 2) Search for a person by the last name, first name 3) Sort the address book by the last name 4) Print the information of all the employees 5) Print the information of a specific employee