The Paradigm of Object Oriented Programming

The Paradigm of Object Oriented Programming

According to the standard definition of Object-Oriented Programming (OOP), it is categorized as a Programming Paradigm. This term refers to the fundamental style or approach to programming that delineates the structure by which you express your ideas in code.

So what is Object Oriented Programming?

  • Object-Oriented Programming is a paradigm grounded in the concepts of classes and objects. In Object-Oriented Programming, an object functions as a blueprint or template for implementing logic in a program. These classes serve as the basis for creating objects, which I perceive as the flow of logic within the computer. An object can execute everything defined in its class. A class is grouping of related functions and methods.

  • This concept is observable in real life; you can analogously treat objects in your surroundings and analyze their properties. For instance, consider a book as a class representing a specific book like “Atomic Habits” by James Clear. A book possesses various properties such as its genre, title, and the number of pages it contains. Similarly, the book can be opened, read, and so forth. The actions performed on the book or the capabilities of a book object are referred to as methods, while its inherent characteristics are called attributes.

  • This concept of objects and classes is used by us to implement our ideas. This methods make it very easy for us to write code and design a better logic flow. This makes it highly efficient that the classic functional programming.

The pillars of object oriented Programming

Object Oriented Programming is built on various pillars that make it you first choice while programming. Its has various features that makes it highly reliabe in code. These are the principles that you should know, if you want to succed in OOP.

  1. Encapsulation

    • Encapsulation is the bundling of data (attributes) and the methods that operate on the data into a single unit known as a class.

    • It restricts access to the internal details of an object and only exposes what is necessary for the outside world.

    • Encapsulation helps in organizing and structuring code, improving maintainability, and reducing the likelihood of unintended interference with the object’s state.

  2. Abstraction

    • Abstraction involves simplifying complex systems by modeling classes based on the essential properties and behaviors they share.

    • It allows developers to focus on the relevant aspects of an object while ignoring unnecessary details.

    • Abstract classes and interfaces are used to define common characteristics without specifying the implementation details.

  3. Inheritance

    • Inheritance is a mechanism that allows a new class (derived or child class) to inherit properties and behaviors from an existing class (base or parent class).

    • It promotes code reuse and the creation of a hierarchy of classes, where common attributes and methods can be defined in a base class and specialized features added in derived classes.

    • Inheritance helps in modeling “is-a” relationships between classes.

  4. Polymorphism

    • Polymorphism allows objects of different classes to be treated as objects of a common base class.

    • It enables a single interface to represent different types of objects, and it can take various forms, such as method overloading and method overriding.

    • Polymorphism contributes to code flexibility and extensibility, as it allows new classes to be added with minimal modification to existing code.


Object Oriented Programming (OOP) is a way of writing a program that allows us to be more effcient with out code and which keeps the logic of the program straight to the point. It is a requirement for developers who want to jump to the intermediate phase of their programming journey. This allows them to sharpen their craft and easily give life to their ideas. OOP is an asset that you might wanna have in your arsenal.