Object-oriented programming is a famous programming paradigm that arises from an attempt to bring reality closer to the virtual world. It is based on the concept of objects, which are entities (concrete or abstract) that follow the same model, the cl...