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/complete 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.
2. 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
3. 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,
number Of Passengers.
4. 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.
5. Scenario 3
• We want to move from a car to specific
makes, for example: Nissan and Mazda.
• Procedural: We create a new form for each
make, repeating all of the code for 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.
6. 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.
8. 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.
9. Object
s
• Hence, every o
Towards a higher level of abstraction
bject 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.
10. Class
es
• 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