All content related to oops-concepts

Introduction to Solid Principles (Chapter 3): Liskov Substitution Principle

According to the Liskov Substitution principle, an object of a parent/base class must be interchangeable with an object of a child/derived class without changing the program. So the objects of our subclass should behave in the same way as the objects of our superclass.

Abstract Factory Design Pattern

Abstract Factory is a creational design pattern that helps in providing an interface for producing families of related objects (products) without specifying their concrete classes. In other words, it is a hierarchy of classes that encapsulates many possible “platforms” and the construction of a suite of “products” or “features”.

Encapsulation in Object-Oriented Programming

Encapsulation is one of the fundamental concepts in OOP that bundles data and associated methods that operate on that data into a single block called **class**. It is also seen as a pathway for restricting direct access to some data and methods associated with a class (leads to **data hiding**). In other words: Encapsulation is about wrapping data and methods into a single class and protecting it from outside intervention.

Introduction to Solid Principles (chapter 2) : Open Closed Principal

In object-oriented programming, the open–closed principle states "software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification"; that is, such an entity can allow its behaviour to be extended without modifying its source code.

Basic Principles of Good Software Engineering

Software engineering principles are recommendations that programmers should follow during software development to write beautiful, clear, and maintainable code. It is a set of approaches and best practices introduced by some famous industry experts and authors. In this blog, we will go through some critical software engineering principles that will help you develop quality software.

Introduction to Solid Principles (chapter 1) : Single Responsibility Principle

The single responsibility principle is one of the popular SOLID principles in software engineering that determines how we should modularize code in object-oriented programming. The idea for this principle is relatively simple: it makes our software easier to implement and prevents unexpected side-effects of future changes.

Principles of Object-Oriented Programming

Learn the four pillars of object-oriented programming: Abstraction, Encapsulation, Inheritance, and Polymorphism.

Introduction to OOPS in C++

Object-Oriented Programming binds together the data and the methods in the form of an object and selectively exposes the data to other objects. It primarily revolves around classes and objects - definition, instantiation, relationship, communication, etc. Learning OOPS concepts are essential in modern software development as it introduces many features such as Inheritance, Encapsulation, Abstraction, Polymorphism.

Introduction to OOPS in Java

Object-Oriented Programming binds together the data and the methods in the form of an object and selectively exposes the data to other objects. It primarily revolves around classes and objects - definition, instantiation, relationship, communication, etc. Learning OOPS concepts are essential in modern software development as it introduces many features such as Inheritance, Encapsulation, Abstraction, Polymorphism.

Why should we learn Object Oriented Programming?

Modern Softwares usually consists of millions of lines of code and operates on terabytes of data, and is so complex that not a single person understands it all. Hence we need a way to organize these instructions so that it is: Easier to understand and explain, Easier to reuse and extend, Easier to maintain. And Object-Oriented Programming(OOP) has been one of the most popular paradigms used in the last few decades for this purpose.

Our weekly newsletter

Subscribe to get free weekly content on data structure and algorithms, machine learning, system design, oops and math. enjoy learning!