SlideShare a Scribd company logo
Object Oriented
Programming
Mohamed Essam
- Coding Paradigm
https://www.freecodecamp.org/news/an-introduction-to-programming-paradigms/
- Procedural Programming
- Focus on processes or actions that a program takes
- Programs are typically a collection of functions
- Data is declared separately
- Data is passed as arguments into functions
As Programs get larger they become more:
 Difficult to understand
 Difficult to maintain
 Difficult to extend
 Difficult to debug
 Difficult to code
Object Oriented
Programming
Object-oriented programming (OOP) is a programming paradigm based on
the concept of "objects", which can contain data and code: data in the form of
fields (often known as attributes or properties), and code, in the form of
procedures (often known as methods).
- Encapsulation
- Objects contain data and operations that work on that data
- Abstract Data Type ( ADT)
09:Object Oriented Programming
Object Oriented Programming
“Abstraction mean Simplify The Reality”
09:Object Oriented Programming
“Just all we need about the person”
09:Object Oriented Programming
“Just all we need about the person”
Object Oriented
Programming
- Information - Hiding
- Encapsulation
- Implementation - specific logic be hidden
- User of class code to be interface since they don’t need to know the
implementation
- More abstraction
- Easier to test, debug, maintain and extend
Object Oriented
Programming
- Reusability
- Easier to reuse classes in order application
- Faster development
- Higher quality
09:Object Oriented Programming provide
code reuse
 Code reuse is the practice of using existing code for a new function or
software.
 This saves time, improves the features in your program, and generally makes
for more cost-effective programming. Reusability is an important issue in
software engineering.
Object Oriented
Programming
- Inheritance
- Can create new classes in term of existing classes
- Reusability
- Polymorphic classes
Object Oriented Programming- provide
Inheritance
09:Object Oriented Programming
Name
Attributes
Actions
09:Object Oriented Programming
A class is an extensible program-code-template for creating objects,
although a very tiny application might need just a single class. The
class must go within a pair of curly braces.
Class design like Blueprint
architecture
Class design
Class design
Class design
Class design
The interface of the
class(Abstraction)
All you need to know to know how to use
The interface of the
class(Abstraction)
All you need to know to know how to use
09:Object Oriented Programming
09:Object Oriented Programming provide
code reuse
 Code reuse is the practice of using existing code for a new function or
software.
 This saves time, improves the features in your program, and generally makes
for more cost-effective programming. Reusability is an important issue in
software engineering.
Create Class using unified
modeling language UML
Accessing Class
 We can access
- Class attributes
- Class methods
 Some class members will not be accessible (more on that later)
 We need an object to access instance variables
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
Class Access Modifier
- public , private and protected
- public
- Accessible everywhere
- private
- Accessible only by members or friends of the class
- protected
- Used with inheritance - we’ll talk about it in the next section
What are setters and getters?
Getters and setters are used to protect your data, particularly when creating
classes. For each instance variable, a getter method returns its value while a setter
method sets or updates its value. Given this, getters and setters are also known as
accessors and mutators, respectively.
What are setters and getters?
Getters and setters are used to protect your data, particularly when creating
classes. For each instance variable, a getter method returns its value while a setter
method sets or updates its value. Given this, getters and setters are also known as
accessors and mutators, respectively.
What is a abstract?
By definition, an abstract class in C++ is a class that has at
least one pure virtual function (i.e., a function that has no
definition).
What is a C++ abstract class?
By definition, an abstract class in C++ is a class that has at
least one pure virtual function (i.e., a function that has no
definition).
What is a C++ abstract class?
Abstract classes are essential to providing an abstraction to
the code to make it reusable and extendable.
For example, a Vehicle parent class
with Truck and Motorbike inheriting from it is an
abstraction that easily allows more vehicles to be added.
However, even though all vehicles have wheels, not all
vehicles have the same number of wheels – this is where
a pure virtual function is needed.
What is a C++ abstract class?
What is a C++ abstract class?
Inhertance
What is Polymorphism in C++?
Polymorphism in C++ means, the same
entity (function or object) behaves
differently in different scenarios
What is Polymorphism in C++?
2. Runtime Polymorphism
In a Runtime polymorphism, functions are called at the time the program
execution. Hence, it is known as late binding or dynamic binding.
Function overriding
In function overriding, we give the new definition to base class
function in the derived class. At that time, we can say the base
function has been overridden. It can be only possible in the ‘derived
class’. In function overriding, we have two definitions of the same
function, one in the superclass and one in the derived class. The
decision about which function definition requires calling happens
at runtime. That is the reason we call it ‘Runtime polymorphism’.
What is Polymorphism in C++?
1. Compile Time Polymorphism
In compile-time polymorphism, a function is called at the time of program
compilation. We call this type of polymorphism as early binding or
Static binding.
Function overloading and operator overloading is the type of Compile
time polymorphism.
 Function Overloading
Function overloading means one function can perform many tasks. In
C++, a single function is used to perform many tasks with the same
name and different types of arguments. In the function overloading
function will call at the time of program compilation. It is an example
of compile-time polymorphism.
CREDITS: This presentation template was created by Slidesgo,
including icons by Flaticon, and infographics & images by Freepik
Thanks

More Related Content

PDF
Collections and generics
PPTX
Templates in C++
PPTX
OOP C++
PPT
C# basics
PPTX
Introduction to Software Engineering with C++
PPT
9. Input Output in java
PPTX
virtual function
PPTX
Classes and Objects in C#
Collections and generics
Templates in C++
OOP C++
C# basics
Introduction to Software Engineering with C++
9. Input Output in java
virtual function
Classes and Objects in C#

What's hot (20)

PPTX
.NET and C# Introduction
PDF
PDF
Introduction to java (revised)
PPTX
Java constructors
PPTX
Object oriented programming in java
PDF
Object-oriented Programming-with C#
ODP
OOP java
PPT
OOP in C++
PDF
TypeScript Introduction
PPTX
Java 8 - Features Overview
PPTX
Arrays in Java
PPT
Java static keyword
PPT
Inheritance OOP Concept in C++.
PPTX
Basic Concepts of OOPs (Object Oriented Programming in Java)
PPTX
inheritance c++
PPTX
OOP - Benefits and advantages of OOP
PPTX
Important features of java
PDF
Function in C
PPTX
Intro to c++
PDF
.NET and C# Introduction
Introduction to java (revised)
Java constructors
Object oriented programming in java
Object-oriented Programming-with C#
OOP java
OOP in C++
TypeScript Introduction
Java 8 - Features Overview
Arrays in Java
Java static keyword
Inheritance OOP Concept in C++.
Basic Concepts of OOPs (Object Oriented Programming in Java)
inheritance c++
OOP - Benefits and advantages of OOP
Important features of java
Function in C
Intro to c++
Ad

Similar to OOP-Advanced Programming with c++ (20)

PPTX
OOP-Advanced_Programming.pptx
PPTX
[OOP - Lec 04,05] Basic Building Blocks of OOP
DOC
My c++
PPTX
Object oriented programming
PPTX
Introduction to oop
PPTX
PDF
UNIT1- OBJECT ORIENTED PROGRAMMING IN JAVA- AIML IT-SPPU
DOCX
Question and answer Programming
PDF
Oop concepts classes_objects
PPT
Object -oriented analysis and design.ppt
PPTX
Cble assignment powerpoint activity for moodle 1
PPTX
1.1-Introduction to Object oriented.pptx
PPTX
Object Oriented Programming - Cheat sheet.pptx
PPT
Classes cpp intro thomson bayan college
PPTX
C++ & Data Structure - Unit - first.pptx
PPTX
Unit - I Intro. to OOP Concepts and Control Structure -OOP and CG (2024 Patte...
OOP-Advanced_Programming.pptx
[OOP - Lec 04,05] Basic Building Blocks of OOP
My c++
Object oriented programming
Introduction to oop
UNIT1- OBJECT ORIENTED PROGRAMMING IN JAVA- AIML IT-SPPU
Question and answer Programming
Oop concepts classes_objects
Object -oriented analysis and design.ppt
Cble assignment powerpoint activity for moodle 1
1.1-Introduction to Object oriented.pptx
Object Oriented Programming - Cheat sheet.pptx
Classes cpp intro thomson bayan college
C++ & Data Structure - Unit - first.pptx
Unit - I Intro. to OOP Concepts and Control Structure -OOP and CG (2024 Patte...
Ad

More from Mohamed Essam (20)

PPTX
Data Science Crash course
PPTX
2.Feature Extraction
PPTX
Data Science
PPTX
Introduction to Robotics.pptx
PPTX
Introduction_to_Gui_with_tkinter.pptx
PPTX
Getting_Started_with_DL_in_Keras.pptx
PPTX
Linear_algebra.pptx
PPTX
Let_s_Dive_to_Deep_Learning.pptx
PPTX
1.Basic_Syntax
PPTX
KNN.pptx
PPTX
Regularization_BY_MOHAMED_ESSAM.pptx
PPTX
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx
PPTX
Clean_Code
PPTX
Linear_Regression
PPTX
2.Data_Strucures_and_modules.pptx
PPTX
Naieve_Bayee.pptx
PPTX
Activation_function.pptx
PPTX
Deep_Learning_Frameworks
PPTX
Neural_Network
PPTX
Software Engineering
Data Science Crash course
2.Feature Extraction
Data Science
Introduction to Robotics.pptx
Introduction_to_Gui_with_tkinter.pptx
Getting_Started_with_DL_in_Keras.pptx
Linear_algebra.pptx
Let_s_Dive_to_Deep_Learning.pptx
1.Basic_Syntax
KNN.pptx
Regularization_BY_MOHAMED_ESSAM.pptx
1.What_if_Adham_Nour_tried_to_make_a_Machine_Learning_Model_at_Home.pptx
Clean_Code
Linear_Regression
2.Data_Strucures_and_modules.pptx
Naieve_Bayee.pptx
Activation_function.pptx
Deep_Learning_Frameworks
Neural_Network
Software Engineering

Recently uploaded (20)

PDF
KodekX | Application Modernization Development
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Cloud computing and distributed systems.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Empathic Computing: Creating Shared Understanding
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
sap open course for s4hana steps from ECC to s4
KodekX | Application Modernization Development
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Cloud computing and distributed systems.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Empathic Computing: Creating Shared Understanding
The AUB Centre for AI in Media Proposal.docx
Building Integrated photovoltaic BIPV_UPV.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Reach Out and Touch Someone: Haptics and Empathic Computing
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
Dropbox Q2 2025 Financial Results & Investor Presentation
sap open course for s4hana steps from ECC to s4

OOP-Advanced Programming with c++

  • 3. - Procedural Programming - Focus on processes or actions that a program takes - Programs are typically a collection of functions - Data is declared separately - Data is passed as arguments into functions As Programs get larger they become more:  Difficult to understand  Difficult to maintain  Difficult to extend  Difficult to debug  Difficult to code
  • 4. Object Oriented Programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods). - Encapsulation - Objects contain data and operations that work on that data - Abstract Data Type ( ADT)
  • 6. Object Oriented Programming “Abstraction mean Simplify The Reality”
  • 7. 09:Object Oriented Programming “Just all we need about the person”
  • 8. 09:Object Oriented Programming “Just all we need about the person”
  • 9. Object Oriented Programming - Information - Hiding - Encapsulation - Implementation - specific logic be hidden - User of class code to be interface since they don’t need to know the implementation - More abstraction - Easier to test, debug, maintain and extend
  • 10. Object Oriented Programming - Reusability - Easier to reuse classes in order application - Faster development - Higher quality
  • 11. 09:Object Oriented Programming provide code reuse  Code reuse is the practice of using existing code for a new function or software.  This saves time, improves the features in your program, and generally makes for more cost-effective programming. Reusability is an important issue in software engineering.
  • 12. Object Oriented Programming - Inheritance - Can create new classes in term of existing classes - Reusability - Polymorphic classes
  • 13. Object Oriented Programming- provide Inheritance
  • 15. 09:Object Oriented Programming A class is an extensible program-code-template for creating objects, although a very tiny application might need just a single class. The class must go within a pair of curly braces.
  • 16. Class design like Blueprint architecture
  • 21. The interface of the class(Abstraction) All you need to know to know how to use
  • 22. The interface of the class(Abstraction) All you need to know to know how to use
  • 24. 09:Object Oriented Programming provide code reuse  Code reuse is the practice of using existing code for a new function or software.  This saves time, improves the features in your program, and generally makes for more cost-effective programming. Reusability is an important issue in software engineering.
  • 25. Create Class using unified modeling language UML
  • 26. Accessing Class  We can access - Class attributes - Class methods  Some class members will not be accessible (more on that later)  We need an object to access instance variables
  • 27. Class Access Modifier - public , private and protected - public - Accessible everywhere - private - Accessible only by members or friends of the class - protected - Used with inheritance - we’ll talk about it in the next section
  • 28. Class Access Modifier - public , private and protected - public - Accessible everywhere - private - Accessible only by members or friends of the class - protected - Used with inheritance - we’ll talk about it in the next section
  • 29. Class Access Modifier - public , private and protected - public - Accessible everywhere - private - Accessible only by members or friends of the class - protected - Used with inheritance - we’ll talk about it in the next section
  • 30. Class Access Modifier - public , private and protected - public - Accessible everywhere - private - Accessible only by members or friends of the class - protected - Used with inheritance - we’ll talk about it in the next section
  • 31. Class Access Modifier - public , private and protected - public - Accessible everywhere - private - Accessible only by members or friends of the class - protected - Used with inheritance - we’ll talk about it in the next section
  • 32. Class Access Modifier - public , private and protected - public - Accessible everywhere - private - Accessible only by members or friends of the class - protected - Used with inheritance - we’ll talk about it in the next section
  • 33. Class Access Modifier - public , private and protected - public - Accessible everywhere - private - Accessible only by members or friends of the class - protected - Used with inheritance - we’ll talk about it in the next section
  • 34. What are setters and getters? Getters and setters are used to protect your data, particularly when creating classes. For each instance variable, a getter method returns its value while a setter method sets or updates its value. Given this, getters and setters are also known as accessors and mutators, respectively.
  • 35. What are setters and getters? Getters and setters are used to protect your data, particularly when creating classes. For each instance variable, a getter method returns its value while a setter method sets or updates its value. Given this, getters and setters are also known as accessors and mutators, respectively.
  • 36. What is a abstract? By definition, an abstract class in C++ is a class that has at least one pure virtual function (i.e., a function that has no definition).
  • 37. What is a C++ abstract class? By definition, an abstract class in C++ is a class that has at least one pure virtual function (i.e., a function that has no definition).
  • 38. What is a C++ abstract class? Abstract classes are essential to providing an abstraction to the code to make it reusable and extendable. For example, a Vehicle parent class with Truck and Motorbike inheriting from it is an abstraction that easily allows more vehicles to be added. However, even though all vehicles have wheels, not all vehicles have the same number of wheels – this is where a pure virtual function is needed.
  • 39. What is a C++ abstract class?
  • 40. What is a C++ abstract class?
  • 42. What is Polymorphism in C++? Polymorphism in C++ means, the same entity (function or object) behaves differently in different scenarios
  • 43. What is Polymorphism in C++? 2. Runtime Polymorphism In a Runtime polymorphism, functions are called at the time the program execution. Hence, it is known as late binding or dynamic binding. Function overriding In function overriding, we give the new definition to base class function in the derived class. At that time, we can say the base function has been overridden. It can be only possible in the ‘derived class’. In function overriding, we have two definitions of the same function, one in the superclass and one in the derived class. The decision about which function definition requires calling happens at runtime. That is the reason we call it ‘Runtime polymorphism’.
  • 44. What is Polymorphism in C++? 1. Compile Time Polymorphism In compile-time polymorphism, a function is called at the time of program compilation. We call this type of polymorphism as early binding or Static binding. Function overloading and operator overloading is the type of Compile time polymorphism.  Function Overloading Function overloading means one function can perform many tasks. In C++, a single function is used to perform many tasks with the same name and different types of arguments. In the function overloading function will call at the time of program compilation. It is an example of compile-time polymorphism.
  • 45. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik Thanks