COSC2135 - Programming 1
Semester 2, 2013
NOTE: This assignment is to be undertaken individually – no group work is permitted. Background information - Assignment 3A/B
For this assignment you need to write an object-oriented console application in the Java programming language which adheres to basic object-oriented programming principles shown below: a) Setting the visibility of all instance variables to private. b) Setting the visibility of all methods in your classes to public c) Encapsulating both the data for a class and the methods that work with and/or manipulate that data within the same class.
d) Using superclass methods to retrieve and/or manipulate superclass properties from within subclass methods where necessary.
e) Taking advantage of polymorphism wherever possible when invoking methods upon objects that have been created.
The overall scenario we are modelling is that of university employee management system, where you can have standard employees and academic employees.
The standard employee type represents administrative or service provider roles in the university - the pay scale for standard employees is broken down into five levels and the pay scale level for a standard employee is decided by the requirements of their role.
The role that is being performed by a standard employee may change over time, resulting in their current pay scale level being adjusted (ie. their pay scale level can be increased or decreased as required).
An academic employee type represents academic teaching staff in the university. The pay scales for academic staff are also broken down into five levels, but for academics the pay scale reflects the length of time they have worked for the university, as well as their performance in the areas of teaching and research.
An academic employee’s pay scale level will move up to the next level when the university decides that they have earned a promotion and once an academic employee’s pay scale has reached the highest level (Professor) then they will not be able to be promoted further. Academics are also given a bonus for each research grant that they have obtained on a research project with an external agency (private or government entity).
In the first part of this task (Assignment 3A) you will be focusing on implementing the data class and application functionality required to manage standard employees.
The data class and additional application functionality required to manage academic employees will be discussed later on in Assignment 3B.
Stage 1: Employee Class Design / Implementation (50 marks)
Both standard and academic employees share common details, such as the employee number, employee title (eg. “Mr”, “Miss”, “Mrs”), employee name, employee role (ie. their position such as cleaner, receptionist, etc.) and current pay scale level, which will be encapsulated in this superclass. An Employee’s pay scale level can be set to any level in the range ‘A’ to ‘E’ and their pay scale level may be changed up or down as the role they perform in the university changes.
You should start off by designing and implementing a basic Employee class, which encapsulates attributes and functionality relevant to a single employee, as described below: A)
Define a Employee class which includes the instance variables employeeNumber (a String), employeeTitle (a String), employeeName (a String), employeeRole (a String) and payScaleLevel (a char).
NOTE: You should only define the five instance variables described above in this Employee class there should be no additional instance variables defined here!
Implement a constructor for the Employee class which accepts the employee Number, employee title, employee name, employee role and pay scale level for the new Employee as parameters and stores the supplied information in the corresponding instance variables. (6 marks)
Implement simple accessors (getters) for the employeeNumber...
Please join StudyMode to read the full document