Question
This question reinforces concepts from Lab Practices 1 – 5. Best practices of Class and Method design should be demonstrated. This will require a good understanding of class design concepts and method design concepts with some fundamental design principles: modularisation, code reuse, high cohesion, and low coupling.
Before attempting this question, complete the pre-requisites listed on the first page of this document.
Assignment 1 uses O-O design implemented in Java. You will need to use a user-defined class, as an array of such class objects will be required. It is quite similar to the Assignment that you have done before in the prior unit however, this is implemented using O-O design. You should explain how you implement this assignment by addressing the following O-O concepts in your external
documentation: (Note: not just by providing definition only, but highlight exactly where in the code you are implementing these concepts). Copy and paste code from your program to show how you implemented the following in your program using your external documentation. You should use your code to explain the concepts below. Some of the concepts could be related and you will need to explain how they are related.
• Open/Closed Principle
• Information hiding
• Encapsulation
• Pre-conditions and Post-conditions
• Private variables
• Constructors
• Assessors and Mutators
• Helper