OOPS Overview and Concepts
OOPS Overview
OOPS stand for Object-oriented programming (OOP) System. This is widely used in most of the programming languages like C++, Python, Java.
It is a programming standard based on the concept of class and "objects". It may contain data and code. Here "data" refers to the fields which are usually identified as parameters or attributes and "code" refers to the group of codes or procedures, usually identified as methods or functions.
One of the characteristics of objects is that an object of a class can access and change the parameters of the class. In C++, objects have a notion of "this" but is not mandatory. In OOP, computer programs are composed of classes that interact with one another. There is a notable difference between the OOP languages and the procedure-oriented programming.
Interesting fact,
In this article, the term "Object Oriented Programming System" may be used the most. But in general, this is not used on a large scale or known to be a useful acronym. In practice, "OOP" is the term used to refer Object-oriented Programming.
Main OOPS Concepts are,
- Encapsulation
- Data Hiding
- Data Abstraction
- Inheritance
- Polymorphism
- Dynamic Binding
- Message Passing
Class and Object
- A class is a blueprint, or prototype which defines and describes the member attributes and member functions.
- Objects are the instances of a class. Simply speaking, it may be defined as a variable of user-defined datatype classes. Through an object or instance, all member variables and member functions of classes can be accessed.
For a better understanding,
Encapsulation
Encapsulation is a process of capsulation of data and methods into a combined unit. In C++, encapsulation is used along with the classes concept.
Bundling of data and methods (functions) as a single unit is known as encapsulation. Encapsulation represents the information of variables (attributes) in terms of data and, methods (functions) and its operations in terms of purpose.
For a better understanding,
Data Hiding
Data hiding is a technique especially exercised in object-oriented programming (OOP).
Data hiding is hiding the details of internal data members of an object. Data hiding secures the access of the members and protects object integrity by proposed changes which in turn reduces system complexity and increases robustness. Data hiding is also known as Information hiding. Data hiding is related to other OOPS concepts like Abstraction and Encapsulation.
For a better understanding,
Abstraction
Data abstraction is the process of securing the information outside the scope of a class or an object.
It means supplying only the necessary data to the object of a class and hiding the other details.
In C++, this can be achieved with the help of access specifiers like "public", "private" and "protect". Public members can be accessed from anywhere using the object. Private members can be accessed only within its member methods.
Inheritance
Inheritance is the concept in which a class derives the characters of another class. The new class is called the derived the class and the old class from which the characters are derived is the base class. the derived class derives the characters of the base class using ":" operator.
Polymorphism
Polymorphism is the ability to use the functions or operators in various forms. Using Polymorphism different behaviors can be designed with the same name.
Poly, referring to many, signifies the many uses of these operators and functions. A single function usage or an operator functioning in many ways can be called polymorphism.
Dynamic Binding
Dynamic binding is also called as late binding or run-time binding.
Dynamic binding is the linking procedure or method call at run-time. This means that the code to be executed for a particular method call is known only at run-time.
Message Passing
In C++, Message passing is a type of communication between processes or objects. Objects can send and receive messages to other processes or objects same as people exchanging information. Messages may be handshakes, signals, data, data structures, or packets.
Read More Articles
- Simple Merge Sort Program in C++
- Scope Resolution Operator In C++
- Simple Program for Virtual Functions Using C++ Programming
- Simple Class Example Program For Find Prime Number In C++
- Simple Example Program For Parameterized Constructor In C++
- Define Constructor in Outside Class Example Program In C++
- Simple Example Program For Copy Constructor In C++
- Simple Program for Function Overloading Using C++ Programming
- Simple Program for Single Inheritance Using C++ Programming
- Simple Program for Inline Function without Class Using C++ Programming
- Factorial Using Function Example Program In C++
- Simple Example Program For Constructor Overloading In C++
- Simple Example Program For Constructor In C++
- Simple Addition ( Add Two Integers ) Example Program
- Simple Example Program for Inline Function Using C++ Programming
- Simple Program for Read user Input Using cin
- Factorial Using Loop Example Program In C++
- Simple Stack Program in C++ Programming
- Simple Program for Friend Function Using C++ Programming
- Simple Program for Static Data and Member Function Using C++ Programming
- Simple Program for Unary Operator Overloading Using C++ Programming
- Simple Program for Multiple Inheritance Using C++ Programming
- Do While Loop Example Program In C++
- Simple Copy Constructor Example Program For Find Factorial In C++
- Simple Program for Function Template Using C++ Programming