Oops in C++: Ms. Niti Gupta
Oops in C++: Ms. Niti Gupta
Presented By:
Main Areas
Procedure Oriented Programming Language Object Oriented Programming Language Concepts of OOPs
The main program coordinates calls to procedures and hands over appropriate data as parameters.
Object-Oriented Concept
Features of OOPs
Emphasis is on data rather than procedures. Programs are divided into objects which are very close to the real world. Data is hidden and cannot be accessed by external functions. Functions that operate on the data are tied together into an object. Follows Bottom up approach in program design.
Objects
Run time entities that may represent a person, place, bank account or any item. Each object contains data, and code to manipulate the data. Data represents the attributes of that object and functions represents the behaviour of that object
Objects Contd.
Classes
User defined data types on which objects are created. Objects with similar properties and methods are grouped together to form a Class. For example, mango, apple and orange are members of class fruit.
Data Abstraction
Abstraction refers to the act of representing essential features without including the background details or explanations.
Data Encapsulation
Wrapping of data and functions into a single unit is known as data encapsulation. Data is not accessible to the outside world, only those functions which are wrapped in the class can access it.
Inheritance
Process of deriving a new class from an existing one is called Inheritance. The existing class is known as base class, parent class or super class. The new class that is formed is called derived class, child class or sub class. Derived class has all the features of the base class plus it has some extra features also.
Example of Inheritance
Automobile
Two Wheeler
Three Wheeler
Four Wheeler
Scooter
Motor Bike
Auto Rickshaw
Car
Bus
Types of Inheritance
Single level Multi level Multiple Hierarchical Hybrid
Derived Class
When there is one base class and only one class is deriving from it.
Class B
Class C
A class is derived from an already derived class. Class A is a base class for the derived class B. Class B is a base class for the derived class C. So, Class B is known as intermediate base class.
Multiple Inheritance
Class A Class B
Class C
Hierarchical Inheritance
Class A
Class B
Class C
Class D
Class E
Hybrid Inheritance
Class A
Polymorphism
Ability to take more than one form. It includes Function Overloading Operator Overloading
Function Overloading
Function Overloading refers to use of same function name for different purposes. These functions differ from each other by no. and types of arguments.
Draw()
Draw()
Draw()
Draw()
Operator Overloading
Operator Overloading is a mechanism of redefining the meaning of C++ operators. For example: +, - ,++, -- ,* etc.
Binding
Binding means connecting the function call to the code to be executed in response to the call.
Binding
Static
Dynamic
Static Binding
Static Binding means that the code associated with the function call is linked at compile time. Also known as early Binding or compile time Polymorphism.
Dynamic Binding
Dynamic Binding means that the code associated with the function call is linked at run time. Also known as late Binding or run time polymorphism.
Advantages of OOPs
Data Security. Reusability of existing code. Creating new data types. Abstraction. Less development time. Reduce Complexity. Better Productivity.
Thanks
Queries Please