SlideShare a Scribd company logo
Object Oriented
Programming
Mohamed Essam
- 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
- Coding Paradigm
https://www.freecodecamp.org/news/an-introduction-to-programming-paradigms/
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
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
CREDITS: This presentation template was created by Slidesgo,
including icons by Flaticon, and infographics & images by Freepik
Thanks

More Related Content

PPT
OOP Basics
PPTX
HTML Forms
PPT
Object-Oriented Programming Concepts
PPTX
New Elements & Features in HTML5
PPTX
Reflection in C#
PPTX
Servlets
PDF
jQuery for beginners
PDF
JavaScript - Chapter 12 - Document Object Model
OOP Basics
HTML Forms
Object-Oriented Programming Concepts
New Elements & Features in HTML5
Reflection in C#
Servlets
jQuery for beginners
JavaScript - Chapter 12 - Document Object Model

What's hot (20)

PPTX
Introduction to Angularjs
PDF
Android Screen Containers & Layouts
PPT
Class 5 - PHP Strings
PPT
Java Servlets
PPTX
PPTX
OOP concepts -in-Python programming language
PPTX
1. introduction to uml
PPTX
Introduction Node.js
PDF
Advanced programming ch1
PPT
deadlock avoidance
PPTX
Xml processors
PDF
Introduction to HTML5
PPT
Collections in Java
PPTX
Session tracking in servlets
PPTX
ReactJS presentation.pptx
PPTX
Android Intent.pptx
PPTX
Delegates and events in C#
PPTX
Introduction to java
PPTX
Java RMI
PPT
Introduction to Angularjs
Android Screen Containers & Layouts
Class 5 - PHP Strings
Java Servlets
OOP concepts -in-Python programming language
1. introduction to uml
Introduction Node.js
Advanced programming ch1
deadlock avoidance
Xml processors
Introduction to HTML5
Collections in Java
Session tracking in servlets
ReactJS presentation.pptx
Android Intent.pptx
Delegates and events in C#
Introduction to java
Java RMI
Ad

Similar to OOP-Advanced_Programming.pptx (20)

PPTX
OOP-Advanced Programming with c++
PPT
PDF
4 pillars of OOPS CONCEPT
PPT
Unit 1- Basic concept of object-oriented-programming.ppt
PPT
C++Day-1 Introduction.ppt
PPT
Share Unit 1- Basic concept of object-oriented-programming.ppt
PPTX
Object Oriented Programming
PPT
Topic 1 PBO
PDF
L03 Software Design
PDF
Cs2305 programming paradigms lecturer notes
DOCX
CSc investigatory project
PPTX
FAL(2022-23)_CSE0206_ETH_AP2022232000455_Reference_Material_I_16-Aug-2022_Mod...
PPTX
Php oop (1)
PPT
C++(introduction)
PPTX
OOP interview questions & answers.
PDF
Oops concepts
PDF
JAVA-PPT'S.pdf
PPT
Object Oriented Programming In .Net
OOP-Advanced Programming with c++
4 pillars of OOPS CONCEPT
Unit 1- Basic concept of object-oriented-programming.ppt
C++Day-1 Introduction.ppt
Share Unit 1- Basic concept of object-oriented-programming.ppt
Object Oriented Programming
Topic 1 PBO
L03 Software Design
Cs2305 programming paradigms lecturer notes
CSc investigatory project
FAL(2022-23)_CSE0206_ETH_AP2022232000455_Reference_Material_I_16-Aug-2022_Mod...
Php oop (1)
C++(introduction)
OOP interview questions & answers.
Oops concepts
JAVA-PPT'S.pdf
Object Oriented Programming In .Net
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
Network Security Unit 5.pdf for BCA BBA.
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
KodekX | Application Modernization Development
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Big Data Technologies - Introduction.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation theory and applications.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Machine learning based COVID-19 study performance prediction
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Cloud computing and distributed systems.
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Network Security Unit 5.pdf for BCA BBA.
Building Integrated photovoltaic BIPV_UPV.pdf
MYSQL Presentation for SQL database connectivity
KodekX | Application Modernization Development
Advanced methodologies resolving dimensionality complications for autism neur...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Diabetes mellitus diagnosis method based random forest with bat algorithm
Big Data Technologies - Introduction.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation theory and applications.pdf
Review of recent advances in non-invasive hemoglobin estimation
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
Unlocking AI with Model Context Protocol (MCP)
Machine learning based COVID-19 study performance prediction
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Encapsulation_ Review paper, used for researhc scholars
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Cloud computing and distributed systems.
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy

OOP-Advanced_Programming.pptx

  • 2. - 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. 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.
  • 33. 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).
  • 34. 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).
  • 35. 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.
  • 36. What is a C++ abstract class?
  • 37. What is a C++ abstract class?
  • 39. CREDITS: This presentation template was created by Slidesgo, including icons by Flaticon, and infographics & images by Freepik Thanks