07:27 -
OOPS using C++
Write about the key features of OOPS with relevant real time examples.
A major factor in the invention of
Object-Oriented approach is to remove some of the flaws encountered with the
procedural approach. In OOP, data is treated as a critical element and
does not allow it to flow freely. It bounds data closely to the functions
that operate on it and protects it from accidental modification from outside
functions. OOP allows decomposition of a problem into a number of entities
called objects and then builds data and functions around these objects. A major
advantage of OOP is code reusability.
Objects
Objects are the basic run-time entities in an object-oriented system. Programming problem is analyzed in terms of objects and nature of communication between them. When a program is executed, objects interact with each other by sending messages. Different objects can also interact with each other without knowing the details of their data or code.
Classes
A class is a collection of objects of similar type. Once a class is defined, any number of objects can be created which belong to that class.
Data Abstraction and Encapsulation
Abstraction refers to the act of representing essential features without including the background details or explanations. Classes use the concept of abstraction and are defined as a list of abstract attributes.
Storing data and functions in a single unit (class) is encapsulation. Data cannot be accessible to the outside world and only those functions which are stored in the class can access it.
Inheritance
Inheritance is the process by which objects can acquire the properties of objects of other class. In OOP, inheritance provides reusability, like, adding additional features to an existing class without modifying it. This is achieved by deriving a new class from the existing one. The new class will have combined features of both the classes.
Polymorphism
Polymorphism means the ability to take more than one form. An operation may exhibit different behaviors in different instances. The behavior depends on the data types used in the operation. Polymorphism is extensively used in implementing Inheritance.