0. What is OOP?
Object-Oriented Programming is a computer programming methodology/paradigm which is bio-inspired based on objects which constitute its fundamental building blocks as opposed to procedural programming which is based on procedures. OOP main elements: Encapsulation, Abstraction, Inheritance and Polymorphism. The elements of OOP will be explained in details and demonstrated in various parts of this tutorial.