Object-Oriented Design

According to Wikipedia:

Object-Oriented Programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).

In this module, we will review the principles of OOP and reflect on Object-Oriented Analysis and Design (OOAD): a software engineering approach that models a system as a group of interacting objects.