Concepts of Object Oriented Programming
Object Oriented Programming (OOP) is a programming structure that organized around objects and data rather than actions and logics. OOP structure decomposes a problem into a number of entities called objects and then builds data and functions around these objects. It simplifies the software development and maintenance by providing some real world entities like-
The core of the object-oriented programming is to create an object that has certain properties and methods. The first step to create an object oriented programming is to identify all the objects that you wants to manipulate and how they relate to each other. This process is often known as data modeling.
Once an object has been identified, it is generalized as a class of the object(s). This class defines the kind of data it contains and any logic sequences that can manipulate. Each distinct logic sequence is known as a method. The main aim of OOP is to bind the data and logics together that operates through an object so that no other part of code can access this data except its own method.
Let’s take a look at the different characteristics of an Object Oriented Programming -
Objects are basic run-time entities in an object oriented programming. They may represent a person, a place or any item that the program must handle. When an object is created using the new operator, it takes up space in memory and have an associated address like a structure or union in C.
Class is a blueprint of an object that bind data and logics. This doesn't actually define any data, but it defines what the class name means, which an object of the class will consist of and what operations can be performed on an object.
Inheritance is the process by which objects of one class acquire the properties of objects of another class. It supports the concept of hierarchical classification. It helps to add additional features to an existing class without modifying it.
Binding data and logics together into a single unit is known as encapsulation. The data is not accessible to the outside world, only those methods which are wrapped in the class can access it.
Polymorphism means the ability to use an operator or methods in different ways. An operation may exhibit different behaviors in different instances. The behavior depends upon the types of data used in the operation.
Abstraction means hiding internal details and only showcasing the required things to the outside world. Abstraction focus on what the object does instead of how it does it. It provides a generalized view of a class or object by providing relevant information.
So, what’s the benefits of OOP over Procedure-oriented programming?
It makes development and maintenance easier than before.
It provides data hiding, which help to secure data from the outside world.
It enables us to simulate real-world event much more effectively.
The concept of data classes allows a programmer to create any new data type that is not defined in the language.
OOP classes can be reusable not only by the program in which it is initially created, but also by other object-oriented programs.
Simula was the first object-oriented programming language and currency, Java, Python, C++, Visual Basic .NET and Ruby are the most popular OOP languages. Hope this article will help you to clear the concept of Object Oriented Programming and make it easy for you to learn any OOP languages.