Question

Discuss the concepts of classes, objects, encapsulation and inheritance relating to object- oriented programming paradigm and apply them to solve a real-world problem. Analyse mathematical, scientific and other types of

problems and design logical solutions for each, suitable for implementing as a computer program. Use an object-oriented programming language, and associated class libraries, to develop object-oriented programs. Use a development environment to develop, test, and debug programs that solve a given problem. Design and develop a test plan to ensure that a given programming solution works as anticipated in both expected and unexpected scenarios. Construct appropriate diagrams and textual descriptions to communicate the static structure and the dynamic behaviour of any object-oriented programming solution.