Learning OOP’s with Crio.do

Farhan Siddiqui
2 min readAug 2, 2020

I have joined Crio.do in order to learn Object Oriented Programming concept’s concept from scratch. It was started with an online session where the these concepts were explained in detail and then I got to work on the Crio.do platform to understand the the Object Oriented Programming concepts practically.

The learning was divided into two parts:-

1. Abstraction and Encapsulation

Both Abstraction and Encapsulation are two of the four basic OOP concepts which allow you to model real-world things into objects so that you can implement them in your program and code. Many beginners get confused between Abstraction and Encapsulation because they both look very similar. If you ask someone what is Abstraction, he will tell that it’s an OOP concept which focuses on relevant information by hiding unnecessary detail, and when you ask about Encapsulation, many will tell that it’s another OOP concept which hides data from the outside world.

Abstraction hides complexity by giving you a more abstract picture, a sort of 10,000 feet view, while Encapsulation hides internal working so that you can change it later. In other words, Abstraction hides details at the design level, while Encapsulation hides details at the implementation level.

2.Inheritance and Polymorphism

Both Inheritance and Polymorphism are key OOP concepts and similar to Abstraction and Encapsulation, they are also closely related to each other. Because of their similarities, many OOP programmers, especially beginners get confused between Inheritance and Polymorphism. Even though they are closely related and you need Inheritance to support runtime Polymorphism they are a totally different concept. Inheritance refers to the ability for classes or objects to inherit properties of other classes or interfaces.

Creating a new class from existing class is known as inheritance. The class from which features are inherited is known as base class and the class into which features are derived into is called derived class.

Inheritance promotes re usability of code by reusing already existing classes. Inheritance is used to implement is-a relationship between classes.

Polymorphism means having different forms. Based on the context, a variable, function, or an object can have different meaning. As inheritance is related to classes, polymorphism is related to methods. In Python, method overriding is one way of implementing polymorphism.

Learning with Crio.do was a great experience. It always encouraged me in learning by keeping different nym such as Learn By Doing, Micro-Experience,etc, etc. I think by choosing Crio.do for learning OOP was a good step by me that made me experience the OOP concepts practically.

--

--