.OOP is a design philosophy. It stands for Object Oriented Programming. Object-Oriented Programming (OOP) uses a different set of programming languages than old procedural programming languages (C, Pascal, etc.). Everything in OOP is grouped as self sustainable "objects". Hence, you gain re-usability by means of four main object-oriented programming concepts.
The main ideas behind Object-Oriented Programming (OOPs) concepts include abstraction, encapsulation, inheritance, and polymorphism. Basically, various OOPs concepts let us create working methods and variables, they can be re-used all or part of them without compromising the security concerns of the application. Grasping OOP concepts is key to understanding how any OOPs-based language works with real-time scenarios.
Below are object oriented programming concepts :
The object is representative of the class and is responsible for memory allocation of its data members and member functions. An object is a real-world entity having attributes (data type) and behaviors (functions).
An object can be considered a "thing" that can perform a set of related activities. The set of activities that the object performs defines the object's behavior. For example, the hand can grip something or a Student (object) can give the name or address.
In general words, Objects may contain two characteristics states and behavior, for example, The car has color, tyre, windows, and cabin which are called states, and its behavior includes the speed of driving the car, breaking, etc.
Class is a data structure that contains data members (constants files, events), member function methods, properties, constructor, destructor, indexers, and nested type.
A class can be defined as a collection using which we can create as many objects as we want. For example, if A student is in a class then their name and age can be a data member, while attributes we can use such as getting the full name of the student, getting the age number, etc.
The class can be defined as :
It is a user defined data type.
It is a reference type.
In fact, a class is a tag or template for an object.
Encapsulation is a mechanism of binding the data member & member function into a single unit known as class. Encapsulation provides a way for abstraction. In OOP the encapsulation is mainly achieved by creating classes, the classes expose public methods and properties. The class is kind of a container or capsule or a cell, which encapsulates the set of methods, attributes, and properties to provide its indented functionalities to other classes.
Data abstraction is a mechanism to provide the essential features without describing the background details. Means provide the functions to access the hidden (private) data.
The importance of abstraction is derived from its ability to hide irrelevant details and from the use of names to reference objects. Abstraction is essential in the construction of programs. It places the emphasis on what an object is or does rather than how it is represented or how it works. Thus, it is the primary means of managing complexity in large programs.
Data hiding is a mechanism to hide the internal structure of an object from the rest of the program. In a class private members are hidden from the rest of the program, hence it supports data hiding. Data hiding is also a way to implement data abstraction.
Polymorphism means one thing in any form. Basically, polymorphism is the capability of one object to behave in multiple ways.
Polymorphism is an object-oriented programming feature that allows us to perform a single action in different ways. For example, let's say we have a class Human that has a method humanSound(), but here we cannot give any specific implementation to this method as we do not know that which Human type class would extend the Human class.
Example: A man's role changes at home, in college, and outside the home. There are the following types of polymorphism :
Static polymorphism(compile time): It is achieved using function overloading and operator overloading.
Dynamic polymorphism(runtime time): It is achieved using function overriding means using virtual function.
Hope this article helps you to understand object-oriented programming concepts. You can check our other article's difference between object-oriented and object-based languages to better understand Oops concepts.