Introduction
The following diagram shows the main concepts of OOP (Object-oriented programming). Let us consider that we need to make a car racing game. So, a car is made up of an engine, wheels, chassis, and so on. All these parts can be considered as individual components, which can be used for other cars as well. Similarly, every car's engine can be different and so we can add different functionalities, states, and properties to each individual component.
All this can be achieved through object-oriented programming:
We need to use an object-oriented system in any design that consists of states and behaviors. Let us consider a game like Space Invaders. The game consists of two main characters, the player ship and the enemy. There is also a boss, but that is just an advanced version of the enemy. The player ship can have different states such as alive, idle, moving, attack, and dead. It also has a few behaviors, such as left/right movement, single shoot/burst shoot/missile. Similarly, the...