In this problem, you will build three small classes based onthe person. The three classes are: Employee, HourlyEmployee, andSalariedEmployee. Implement this program using Python. An employee has anemployee’s name (inherited from the class person), an annual salary, a hireddate that gives the year, month, and date that the employee got hired, and asocial security number. Choose appropriate data types for this information.HourlyEmployee and SalariedEmployee are derived from Employee. The differencebetween HourlyEmployee and SalariedEmployee is the way that the salary iscalculated. For HourlyEmployee, salary = number of hours worked * hourly rate;for SalariedEmployee, salary = annual salary + bonus. To accommodate thecalculation of salary, HourlyEmployee and SalariedEmployee need additional datamembers, including number of hours worked, hourly rate, or bonus.
Program design requirement:
1. Be sure your classes have a reasonable set ofconstructors, accessor methods, and mutator methods so that object states canbe manipulated. 2. Be sure todemonstrate method overloading and method overridden in your classes. 3. Be sure todemonstrate the appropriate use of access modifiers for class and its members. 4. You may useabstract method. 5. Be sure todocument your source code
Submission:
1. Source code for theprogram.2. Source code for testingprogram (see example in c++)