Table of Contents
In this tutorial, we will learn about what is Opps (Object-Oriented Programming ) and different concept OOPs of in C++.
OOP stands for Object-Oriented Programming. It is a methodology or paradigm is about creating objects that contain both data and functions.
The programming paradigm where everything is represented as an object is known as truly object-oriented programming language.
Smalltalk is considered as the first truly object-oriented programming language.
OOPs (Object Oriented Programming Concepts)
OOPs simplifies the software development and maintenance by providing concepts such as
- Object
- Class
- Inheritance
- Polymorphism
- Abstraction
- Encapsulation
Object
Any entity that has state and behavior is known as an object. i.e. chair, pen, table, keyboard, bike etc. It can be physical and logical.
Class
Collection of objects is called class. It is a logical entity.
Inheritance
When one object acquires all the properties and behaviours of parent object i.e. known as inheritance. It provides code reusability. It is used to achieve runtime polymorphism.
Polymorphism
When one task is performed by different ways i.e. known as polymorphism i.e. to convince the customer differently, to draw something e.g. triangle or rectangle etc.
In C++, we use Function overloading and Function overriding to achieve polymorphism.
Abstraction
Hiding internal details and showing functionality is known as abstraction i.e. phone call, we don’t know the internal processing.
In C++, we use abstract class and interface to achieve abstraction.
Encapsulation
Binding (or wrapping) code and data together into a single unit is known as encapsulation i.e. capsule, it is wrapped with different medicines.
OOPs Advantages
OOPs has several advantages such as follows
- OOP is faster and easier to execute
- OOP provides a clear structure for the programs
- OOP helps to keep the C++ code DRY “Don’t Repeat Yourself”, and makes the code easier to maintain, modify and debug
- OOP makes it possible to create full reusable applications with less code and shorter development time