SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Programming Paradigms
Muhammad Hammad Waseem
m.hammad.wasim@gmail.com
Programming Techniques
• The evolution of programming techniques is
• to make programming languages more expressive
• to develop complex systems more easily
• There are different programming paradigms
• Unstructured Programming
• Procedural Programming
• Modular & Structural Programming
• Object-Oriented Programming
Unstructured Programming
• Usually, people start learning programming by writing small and
simple programs consisting only of one main program.
• Here main program stands for a sequence of commands or
statements which modify data which is global throughout the whole
program.
Main Program
Data
Drawbacks of Unstructured Programming
• This programming technique can only be used in a very small
program.
• For example, if the same statement sequence is needed at different
locations within the program, the sequence must be copied.
• If an error needed to be modified, every copy needs to be modified.
• This has lead to the idea to extract these sequences(procedure),
name them and offering a technique to call and return from these
procedures.
Procedural Programming
• With procedural programming, you are able to combine sequences of
calling statements into one single place.
• A procedure call is used to invoke the procedure.
• After the sequence is processed, flow of control proceeds right after
the position where the call was made.
Main Program
Procedure
Procedures
• With parameters and sub-procedures (procedures of procedures) ,
programs can now be written more structured and error free.
• For example, if a procedure is correct, every time it is used it
produces correct results.
• Consequently, in cases of errors you can narrow your search to those
places which are not proven to be correct.
Procedure Program View
Main Program
Data
Procedure 1
Procedure 2 Procedure 3
Modular Programming
• Modular programming is subdividing your program into separate
subprograms such as functions and subroutines.
• With modular programming, procedures of a common functionality
are grouped together into separate modules.
• A program therefore no longer consists of only one single part. It is
now divided into several smaller parts which interact through
procedure calls and which form the whole program.
Modular Programming Program View
Main Program(Also a module)
Data
Data1
Module 2
+
Data Data2
Module1
+Data Data1
Procedure1 Procedure2 Procedure3
The main program
coordinates calls to
procedures in separate
modules and hands over
appropriate data as
parameters.
Modular Programming
• Each module can have its own data. This allows each module to
manage an internal state which is modified by calls to procedures of
this module.
• Each module has its own special functionalities that supports the
implementation of the whole program.
Structural Programming
• Also structured programming
• A subset of procedural programming that enforces a logical structure
on the program being written to make it more efficient and easier to
understand and modify.
• Certain languages such as Ada, Pascal, and dBASE are designed with
features that encourage or enforce a logical program.
Problems with Structured Programming
• Many Functions access the same data, change in data may require
rewriting of all functions. It makes program difficult to modify.
• It makes a program structure difficult to conceptualize.
• Arrangement of separate data and functions does a poor job of
modeling things in real world.
Object-Oriented Programming
• OOP is a technique in which programs are written on the basis of
objects. An object is collection of data and functions.
• The fundamental idea behind object oriented programming is to
combine both data and functions into a single unit. Such a unit is
called object.
• Object is derived from abstract data type.
• Object-oriented programming has a web of interacting objects, each
house-keeping its own state.
• Objects of a program interact by sending messages to each other.
• OOP is based on real world modeling
Object-Oriented Programming Program View
Object1
Data1+Procedures1
Data Data1
Object3
Data3 +Procedures3
Object2
Data2 +Procedures2
Object4
Data4 +Procedures4
Object-Oriented Programming
• In object-oriented programming , instead of calling a procedure which
we must provide with the correct handle, we would directly send a
message to the object in questions.
• Roughly speaking,
• Each object is responsible to initialize and destroy itself correctly.
• Consequently, there is no longer the need to explicitly call a creation
or termination procedure.
• Each object implements its own module.
Object Oriented Languages
• C++
• JAVA
• C# (C Sharp)
• Many other

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

[OOP - Lec 19] Static Member Functions
[OOP - Lec 19] Static Member Functions[OOP - Lec 19] Static Member Functions
[OOP - Lec 19] Static Member Functions
 
U2A2
U2A2U2A2
U2A2
 
Lecture 4-oop class diagram
Lecture 4-oop class diagramLecture 4-oop class diagram
Lecture 4-oop class diagram
 
Object oriented programming
Object oriented programmingObject oriented programming
Object oriented programming
 
U2A3
U2A3U2A3
U2A3
 
Session 1 of programming
Session 1 of programmingSession 1 of programming
Session 1 of programming
 
Building Comfort with MATLAB
Building Comfort with MATLABBuilding Comfort with MATLAB
Building Comfort with MATLAB
 
Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)Software enginering.group-no-11 (1)
Software enginering.group-no-11 (1)
 
Basic concepts of object oriented programming
Basic concepts of object oriented programmingBasic concepts of object oriented programming
Basic concepts of object oriented programming
 
Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2Week 2: Getting Your Hands Dirty – Part 2
Week 2: Getting Your Hands Dirty – Part 2
 
Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1Week 1: Getting Your Hands Dirty - Part 1
Week 1: Getting Your Hands Dirty - Part 1
 
Practical OOP In Java
Practical OOP In JavaPractical OOP In Java
Practical OOP In Java
 
CS3270 – Database Systems Course Outline
CS3270 – Database Systems Course OutlineCS3270 – Database Systems Course Outline
CS3270 – Database Systems Course Outline
 
Object oriented programming tutorial
Object oriented programming tutorialObject oriented programming tutorial
Object oriented programming tutorial
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Data members and member functions
Data members and member functionsData members and member functions
Data members and member functions
 
Introduction to java programming
Introduction to java programmingIntroduction to java programming
Introduction to java programming
 
Packages and Interfaces
Packages and InterfacesPackages and Interfaces
Packages and Interfaces
 
PCSTt11 overview of java
PCSTt11 overview of javaPCSTt11 overview of java
PCSTt11 overview of java
 
Object modeling
Object modelingObject modeling
Object modeling
 

Andere mochten auch

Programming Paradigms Seminar 1
Programming Paradigms Seminar 1Programming Paradigms Seminar 1
Programming Paradigms Seminar 1
neoxiuting
 

Andere mochten auch (12)

Felleisen_Keynote
Felleisen_KeynoteFelleisen_Keynote
Felleisen_Keynote
 
[OOP - Lec 13,14,15] Constructors / Destructor and its Types
[OOP - Lec 13,14,15] Constructors / Destructor and its Types[OOP - Lec 13,14,15] Constructors / Destructor and its Types
[OOP - Lec 13,14,15] Constructors / Destructor and its Types
 
[OOP - Lec 09,10,11] Class Members & their Accessing
[OOP - Lec 09,10,11] Class Members & their Accessing[OOP - Lec 09,10,11] Class Members & their Accessing
[OOP - Lec 09,10,11] Class Members & their Accessing
 
[OOP - Lec 16,17] Objects as Function Parameter and ReturnType
[OOP - Lec 16,17] Objects as Function Parameter and ReturnType[OOP - Lec 16,17] Objects as Function Parameter and ReturnType
[OOP - Lec 16,17] Objects as Function Parameter and ReturnType
 
[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP[OOP - Lec 02] Why do we need OOP
[OOP - Lec 02] Why do we need OOP
 
[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers[OOP - Lec 07] Access Specifiers
[OOP - Lec 07] Access Specifiers
 
Programming Paradigm & Languages
Programming Paradigm & LanguagesProgramming Paradigm & Languages
Programming Paradigm & Languages
 
[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)[OOP - Lec 08] Encapsulation (Information Hiding)
[OOP - Lec 08] Encapsulation (Information Hiding)
 
Simple made easy
Simple made easySimple made easy
Simple made easy
 
[OOP - Lec 20,21] Inheritance
[OOP - Lec 20,21] Inheritance[OOP - Lec 20,21] Inheritance
[OOP - Lec 20,21] Inheritance
 
Programming Paradigms
Programming ParadigmsProgramming Paradigms
Programming Paradigms
 
Programming Paradigms Seminar 1
Programming Paradigms Seminar 1Programming Paradigms Seminar 1
Programming Paradigms Seminar 1
 

Ähnlich wie [OOP - Lec 03] Programming Paradigms

Introduction to object oriented language
Introduction to object oriented languageIntroduction to object oriented language
Introduction to object oriented language
farhan amjad
 

Ähnlich wie [OOP - Lec 03] Programming Paradigms (20)

Object oriented programming 1 introduction to oop
Object oriented programming 1 introduction to oopObject oriented programming 1 introduction to oop
Object oriented programming 1 introduction to oop
 
Oop.pptx
Oop.pptxOop.pptx
Oop.pptx
 
Programming language paradigms
Programming language paradigmsProgramming language paradigms
Programming language paradigms
 
Unit 2.pptx
Unit 2.pptxUnit 2.pptx
Unit 2.pptx
 
Unit 2.pptx
Unit 2.pptxUnit 2.pptx
Unit 2.pptx
 
OOP-1.pptx
OOP-1.pptxOOP-1.pptx
OOP-1.pptx
 
Oop basic overview
Oop basic overviewOop basic overview
Oop basic overview
 
Introduction to object oriented language
Introduction to object oriented languageIntroduction to object oriented language
Introduction to object oriented language
 
Software engineering.pptx
Software engineering.pptxSoftware engineering.pptx
Software engineering.pptx
 
1. OBJECT ORIENTED PROGRAMMING USING JAVA - OOps Concepts.ppt
1. OBJECT ORIENTED PROGRAMMING USING JAVA - OOps Concepts.ppt1. OBJECT ORIENTED PROGRAMMING USING JAVA - OOps Concepts.ppt
1. OBJECT ORIENTED PROGRAMMING USING JAVA - OOps Concepts.ppt
 
Unit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptxUnit 1 introduction to c++.pptx
Unit 1 introduction to c++.pptx
 
itft-Fundamentals of object–oriented programming in java
itft-Fundamentals of object–oriented programming in javaitft-Fundamentals of object–oriented programming in java
itft-Fundamentals of object–oriented programming in java
 
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency ProgrammingConcurrency Programming in Java - 01 - Introduction to Concurrency Programming
Concurrency Programming in Java - 01 - Introduction to Concurrency Programming
 
Coding
CodingCoding
Coding
 
Lecture No.1.pptx
Lecture No.1.pptxLecture No.1.pptx
Lecture No.1.pptx
 
Design Engineering and Design concepts
Design Engineering and Design conceptsDesign Engineering and Design concepts
Design Engineering and Design concepts
 
Software Design Concepts
Software Design ConceptsSoftware Design Concepts
Software Design Concepts
 
C++ chapter 1
C++ chapter 1C++ chapter 1
C++ chapter 1
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
Overview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptxOverview of Software Engineering Principles - SCPS311.pptx
Overview of Software Engineering Principles - SCPS311.pptx
 

Mehr von Muhammad Hammad Waseem

Mehr von Muhammad Hammad Waseem (18)

[ITP - Lecture 17] Strings in C/C++
[ITP - Lecture 17] Strings in C/C++[ITP - Lecture 17] Strings in C/C++
[ITP - Lecture 17] Strings in C/C++
 
[ITP - Lecture 16] Structures in C/C++
[ITP - Lecture 16] Structures in C/C++[ITP - Lecture 16] Structures in C/C++
[ITP - Lecture 16] Structures in C/C++
 
[ITP - Lecture 15] Arrays & its Types
[ITP - Lecture 15] Arrays & its Types[ITP - Lecture 15] Arrays & its Types
[ITP - Lecture 15] Arrays & its Types
 
[ITP - Lecture 14] Recursion
[ITP - Lecture 14] Recursion[ITP - Lecture 14] Recursion
[ITP - Lecture 14] Recursion
 
[ITP - Lecture 13] Introduction to Pointers
[ITP - Lecture 13] Introduction to Pointers[ITP - Lecture 13] Introduction to Pointers
[ITP - Lecture 13] Introduction to Pointers
 
[ITP - Lecture 12] Functions in C/C++
[ITP - Lecture 12] Functions in C/C++[ITP - Lecture 12] Functions in C/C++
[ITP - Lecture 12] Functions in C/C++
 
[ITP - Lecture 11] Loops in C/C++
[ITP - Lecture 11] Loops in C/C++[ITP - Lecture 11] Loops in C/C++
[ITP - Lecture 11] Loops in C/C++
 
[ITP - Lecture 10] Switch Statement, Break and Continue Statement in C/C++
[ITP - Lecture 10] Switch Statement, Break and Continue Statement in C/C++[ITP - Lecture 10] Switch Statement, Break and Continue Statement in C/C++
[ITP - Lecture 10] Switch Statement, Break and Continue Statement in C/C++
 
[ITP - Lecture 09] Conditional Operator in C/C++
[ITP - Lecture 09] Conditional Operator in C/C++[ITP - Lecture 09] Conditional Operator in C/C++
[ITP - Lecture 09] Conditional Operator in C/C++
 
[ITP - Lecture 08] Decision Control Structures (If Statement)
[ITP - Lecture 08] Decision Control Structures (If Statement)[ITP - Lecture 08] Decision Control Structures (If Statement)
[ITP - Lecture 08] Decision Control Structures (If Statement)
 
[ITP - Lecture 07] Comments in C/C++
[ITP - Lecture 07] Comments in C/C++[ITP - Lecture 07] Comments in C/C++
[ITP - Lecture 07] Comments in C/C++
 
[ITP - Lecture 06] Operators, Arithmetic Expression and Order of Precedence
[ITP - Lecture 06] Operators, Arithmetic Expression and Order of Precedence[ITP - Lecture 06] Operators, Arithmetic Expression and Order of Precedence
[ITP - Lecture 06] Operators, Arithmetic Expression and Order of Precedence
 
[ITP - Lecture 05] Datatypes
[ITP - Lecture 05] Datatypes[ITP - Lecture 05] Datatypes
[ITP - Lecture 05] Datatypes
 
[ITP - Lecture 04] Variables and Constants in C/C++
[ITP - Lecture 04] Variables and Constants in C/C++[ITP - Lecture 04] Variables and Constants in C/C++
[ITP - Lecture 04] Variables and Constants in C/C++
 
[ITP - Lecture 03] Introduction to C/C++
[ITP - Lecture 03] Introduction to C/C++[ITP - Lecture 03] Introduction to C/C++
[ITP - Lecture 03] Introduction to C/C++
 
[ITP - Lecture 02] Steps to Create Program & Approaches of Programming
[ITP - Lecture 02] Steps to Create Program & Approaches of Programming[ITP - Lecture 02] Steps to Create Program & Approaches of Programming
[ITP - Lecture 02] Steps to Create Program & Approaches of Programming
 
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
[ITP - Lecture 01] Introduction to Programming & Different Programming Languages
 
Data Structures - Lecture 10 [Graphs]
Data Structures - Lecture 10 [Graphs]Data Structures - Lecture 10 [Graphs]
Data Structures - Lecture 10 [Graphs]
 

Kürzlich hochgeladen

Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Kürzlich hochgeladen (20)

Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Asian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptxAsian American Pacific Islander Month DDSD 2024.pptx
Asian American Pacific Islander Month DDSD 2024.pptx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
PROCESS RECORDING FORMAT.docx
PROCESS      RECORDING        FORMAT.docxPROCESS      RECORDING        FORMAT.docx
PROCESS RECORDING FORMAT.docx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 

[OOP - Lec 03] Programming Paradigms

  • 1. Programming Paradigms Muhammad Hammad Waseem m.hammad.wasim@gmail.com
  • 2. Programming Techniques • The evolution of programming techniques is • to make programming languages more expressive • to develop complex systems more easily • There are different programming paradigms • Unstructured Programming • Procedural Programming • Modular & Structural Programming • Object-Oriented Programming
  • 3. Unstructured Programming • Usually, people start learning programming by writing small and simple programs consisting only of one main program. • Here main program stands for a sequence of commands or statements which modify data which is global throughout the whole program. Main Program Data
  • 4. Drawbacks of Unstructured Programming • This programming technique can only be used in a very small program. • For example, if the same statement sequence is needed at different locations within the program, the sequence must be copied. • If an error needed to be modified, every copy needs to be modified. • This has lead to the idea to extract these sequences(procedure), name them and offering a technique to call and return from these procedures.
  • 5. Procedural Programming • With procedural programming, you are able to combine sequences of calling statements into one single place. • A procedure call is used to invoke the procedure. • After the sequence is processed, flow of control proceeds right after the position where the call was made. Main Program Procedure
  • 6. Procedures • With parameters and sub-procedures (procedures of procedures) , programs can now be written more structured and error free. • For example, if a procedure is correct, every time it is used it produces correct results. • Consequently, in cases of errors you can narrow your search to those places which are not proven to be correct.
  • 7. Procedure Program View Main Program Data Procedure 1 Procedure 2 Procedure 3
  • 8. Modular Programming • Modular programming is subdividing your program into separate subprograms such as functions and subroutines. • With modular programming, procedures of a common functionality are grouped together into separate modules. • A program therefore no longer consists of only one single part. It is now divided into several smaller parts which interact through procedure calls and which form the whole program.
  • 9. Modular Programming Program View Main Program(Also a module) Data Data1 Module 2 + Data Data2 Module1 +Data Data1 Procedure1 Procedure2 Procedure3 The main program coordinates calls to procedures in separate modules and hands over appropriate data as parameters.
  • 10. Modular Programming • Each module can have its own data. This allows each module to manage an internal state which is modified by calls to procedures of this module. • Each module has its own special functionalities that supports the implementation of the whole program.
  • 11. Structural Programming • Also structured programming • A subset of procedural programming that enforces a logical structure on the program being written to make it more efficient and easier to understand and modify. • Certain languages such as Ada, Pascal, and dBASE are designed with features that encourage or enforce a logical program.
  • 12. Problems with Structured Programming • Many Functions access the same data, change in data may require rewriting of all functions. It makes program difficult to modify. • It makes a program structure difficult to conceptualize. • Arrangement of separate data and functions does a poor job of modeling things in real world.
  • 13. Object-Oriented Programming • OOP is a technique in which programs are written on the basis of objects. An object is collection of data and functions. • The fundamental idea behind object oriented programming is to combine both data and functions into a single unit. Such a unit is called object. • Object is derived from abstract data type. • Object-oriented programming has a web of interacting objects, each house-keeping its own state. • Objects of a program interact by sending messages to each other. • OOP is based on real world modeling
  • 14. Object-Oriented Programming Program View Object1 Data1+Procedures1 Data Data1 Object3 Data3 +Procedures3 Object2 Data2 +Procedures2 Object4 Data4 +Procedures4
  • 15. Object-Oriented Programming • In object-oriented programming , instead of calling a procedure which we must provide with the correct handle, we would directly send a message to the object in questions. • Roughly speaking, • Each object is responsible to initialize and destroy itself correctly. • Consequently, there is no longer the need to explicitly call a creation or termination procedure. • Each object implements its own module.
  • 16. Object Oriented Languages • C++ • JAVA • C# (C Sharp) • Many other