KEMBAR78
Procedural vs. object oriented programming | PPTX
Procedure Oriented Programming
• It means “a set of procedures” which is a “set of
subroutines” or a “set of functions“.
• functions are called repeatedly in a program to execute
tasks performed by them. For example, a program may
involve collecting data from user (reading), performing
some kind of calculations on the collected data
(calculation), and finally displaying the result to the
user when requested (printing). All the 3 tasks of
reading, calculating and printing can be written in a
program with the help of 3 different functions which
performs these 3 different tasks.
A Real-World Example
• Let's say that you are working for a vehicle parts
manufacturer that needs to update it's online inventory
system. Your boss tells you to program two similar but
separate forms for a website, one form that processes
information about cars and one that does the same for
trucks.
• For cars, we will need to record the following information:
Color, Engine Size, Transmission Type, Number of doors
• For trucks, the information will be similar, but slightly
different. We need:
Color, Engine Size, Transmission Type, Cab Size, Towing
Capacity
Scenario 1
• Suppose that we suddenly need to add a bus
form, that records the following information:
Color, Engine Size, Transmission Type
Number of passengers
• Procedural: We need to recreate the entire form,
repeating the code for Color, Engine Size, and
Transmission Type.
• OOP: We simply extend the vehicle class with a
bus class and add the
method,numberOfPassengers.
Scenario 2
• Instead of storing color in a database like we
previously did, for some strange reason our client
wants the color emailed to him.
• Procedural: We change three different forms:
cars, trucks, and buses to email the color to the
client rather than storing it in the database.
• OOP: We change the color method in the vehicle
class and because the car, truck, and bus classes
all extend (or inherit from, to put it another way)
the vehicle class, they are automatically updated.
Scenario 3
• We want to move from a generic car to specific
makes, for example: Nissan and Mazda.
• Procedural: We create a new form for each make,
repeating all of the code for generic car
information and adding the code specific to each
make.
• OOP: We extend the car class with a Nissan class
and a Mazda class and add methods for each set
of unique information for that car make.
Scenario 4
• We found a bug in the transmission type area
of our form and need to fix it.
• Procedural: We open and update each form.
• OOP: We fix the transmission Type method in
the vehicle class and the change perpetuates
in every class that inherits from it.
Procedural vs. Object-Oriented Programming
POP OOP
In POP, program is divided into small parts
called functions.
In OOP, program is divided into parts
called objects.
POP does not have any proper way for
hiding data so it is less secure.
OOP provides Data Hiding so
provides more security.
Example of POP are : C, VB, FORTRAN,
Pascal.
Example of OOP are : C++, JAVA, VB.NET,
C#.NET.
Procedural:
Top down design
Global data focused
Limited code reuse
Complex code
Object-Oriented:
Object focused design
Protected data
Code reuse
Complex design
VS.
Procedural vs. Object-Oriented Programming
Object Oriented Methodology is a certain
process through which software can be
developed. The goals of this methodology
are to achieve Software Systems that are
reliable, reusable, extensible; hence, more
useful in the long run. The methodology
achieves its goals by the help of a collection
of objects that communicate by exchanging
messages.
Objects
Towards a higher level of abstraction
• Hence, every object has 3 important features
– 1. Characteristics (e.g. Name, Designation, Job description etc.)
– 2. Responsibilities (e.g. drive bus, fly plane etc.) – these are assigned
on the basis of the object’s characteristics – A manager object would
have different responsibilities than a developer, since their job
descriptions (a characteristic) would be different:
– 3. Relationships with other objects (explained in detail later) – in order
to send requests/messages to each other, objects need to have some
relationship/connection. E.g. A bus driver needs to have
access/connection to a bus in order to drive it.
Classes
• Exercise: What class/category do these objects
belong to?
– Pencils, erasers, pens, rulers, sharpeners?
– Bananas, apples, oranges, peaches, grapes?
– Alice, Bob, Mark, Fahd, Ali, Brian?
• Guideline: A class usually represents a noun
Classes vs. Objects
some pictorial examples

Procedural vs. object oriented programming

  • 1.
    Procedure Oriented Programming •It means “a set of procedures” which is a “set of subroutines” or a “set of functions“. • functions are called repeatedly in a program to execute tasks performed by them. For example, a program may involve collecting data from user (reading), performing some kind of calculations on the collected data (calculation), and finally displaying the result to the user when requested (printing). All the 3 tasks of reading, calculating and printing can be written in a program with the help of 3 different functions which performs these 3 different tasks.
  • 3.
    A Real-World Example •Let's say that you are working for a vehicle parts manufacturer that needs to update it's online inventory system. Your boss tells you to program two similar but separate forms for a website, one form that processes information about cars and one that does the same for trucks. • For cars, we will need to record the following information: Color, Engine Size, Transmission Type, Number of doors • For trucks, the information will be similar, but slightly different. We need: Color, Engine Size, Transmission Type, Cab Size, Towing Capacity
  • 4.
    Scenario 1 • Supposethat we suddenly need to add a bus form, that records the following information: Color, Engine Size, Transmission Type Number of passengers • Procedural: We need to recreate the entire form, repeating the code for Color, Engine Size, and Transmission Type. • OOP: We simply extend the vehicle class with a bus class and add the method,numberOfPassengers.
  • 5.
    Scenario 2 • Insteadof storing color in a database like we previously did, for some strange reason our client wants the color emailed to him. • Procedural: We change three different forms: cars, trucks, and buses to email the color to the client rather than storing it in the database. • OOP: We change the color method in the vehicle class and because the car, truck, and bus classes all extend (or inherit from, to put it another way) the vehicle class, they are automatically updated.
  • 6.
    Scenario 3 • Wewant to move from a generic car to specific makes, for example: Nissan and Mazda. • Procedural: We create a new form for each make, repeating all of the code for generic car information and adding the code specific to each make. • OOP: We extend the car class with a Nissan class and a Mazda class and add methods for each set of unique information for that car make.
  • 7.
    Scenario 4 • Wefound a bug in the transmission type area of our form and need to fix it. • Procedural: We open and update each form. • OOP: We fix the transmission Type method in the vehicle class and the change perpetuates in every class that inherits from it.
  • 8.
    Procedural vs. Object-OrientedProgramming POP OOP In POP, program is divided into small parts called functions. In OOP, program is divided into parts called objects. POP does not have any proper way for hiding data so it is less secure. OOP provides Data Hiding so provides more security. Example of POP are : C, VB, FORTRAN, Pascal. Example of OOP are : C++, JAVA, VB.NET, C#.NET.
  • 9.
    Procedural: Top down design Globaldata focused Limited code reuse Complex code Object-Oriented: Object focused design Protected data Code reuse Complex design VS. Procedural vs. Object-Oriented Programming
  • 10.
    Object Oriented Methodologyis a certain process through which software can be developed. The goals of this methodology are to achieve Software Systems that are reliable, reusable, extensible; hence, more useful in the long run. The methodology achieves its goals by the help of a collection of objects that communicate by exchanging messages.
  • 11.
    Objects Towards a higherlevel of abstraction • Hence, every object has 3 important features – 1. Characteristics (e.g. Name, Designation, Job description etc.) – 2. Responsibilities (e.g. drive bus, fly plane etc.) – these are assigned on the basis of the object’s characteristics – A manager object would have different responsibilities than a developer, since their job descriptions (a characteristic) would be different: – 3. Relationships with other objects (explained in detail later) – in order to send requests/messages to each other, objects need to have some relationship/connection. E.g. A bus driver needs to have access/connection to a bus in order to drive it.
  • 12.
    Classes • Exercise: Whatclass/category do these objects belong to? – Pencils, erasers, pens, rulers, sharpeners? – Bananas, apples, oranges, peaches, grapes? – Alice, Bob, Mark, Fahd, Ali, Brian? • Guideline: A class usually represents a noun
  • 13.
    Classes vs. Objects somepictorial examples

Editor's Notes

  • #12 Must follow the Required Content structure Clear and concise purpose Should fit into the overall training program Determine level of training and adhere to it throughout Beginner, Intermediate, Advanced Introduce concepts in an easy to follow manner Provide text and audio Product trainings should include hands-on video examples
  • #13 Possible Answers to the Exercises: Stencils Fruits People/Humans/Names