Está en la página 1de 30

OOPs in C++

Presented By:

Ms. Niti Gupta

Main Areas
Procedure Oriented Programming Language Object Oriented Programming Language Concepts of OOPs

Procedural Oriented Programming Language

The main program coordinates calls to procedures and hands over appropriate data as parameters.

Features of Procedure Oriented Programming Language


Emphasis is on doing things. Larger programs are divided in to smaller programs known as functions. Data is Global shared by almost all the functions. Employs Top Down approach in Program Design.

Examples of Procedure Oriented Programming Language


COBOL FORTRAN C

Object-Oriented Concept

Objects of the program interact by sending messages to each other

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.

Basic Concept of Object-Oriented


Objects Classes Data Abstraction Data Encapsulation Inheritance Polymorphism Dynamic Binding

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

Single Level Inheritance


Base Class

Derived Class

When there is one base class and only one class is deriving from it.

Multi Level Level Inheritance


Class A

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

A Derived Class is created from two or more base classes.

Hierarchical Inheritance
Class A

Class B

Class C

Class D

Class E

Two or more classes are derived from one base class.

Hybrid Inheritance
Class A

Class B Class D Class C Class E

Combination of two or more types of Inheritance.

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

También podría gustarte