c plusplus
DESCRIPTION
TRANSCRIPT
OOPs in C++
Presented By:
Ms. Niti Gupta
Main Areas
Procedure Oriented Programming LanguageObject Oriented Programming LanguageConcepts 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
COBOLFORTRANC
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
ObjectsClassesData AbstractionData EncapsulationInheritancePolymorphismDynamic 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 levelMulti levelMultipleHierarchicalHybrid
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
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.
Class C
Multiple Inheritance
Class A Class B
A Derived Class is created from two or more base classes.
Class C
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 C
Class D Class E
Combination of two or more types of Inheritance.
Polymorphism
Ability to take more than one form.It includes
Function OverloadingOperator 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