Object Oriented
Programming
Presented by
I. Sakthidevi., ME., (PhD)
Assistant Professor
Department of IT
Adhiyamaan College of Engineering
(An Autonomous Institution),Hosur
1
INTRODUCTION TO OOP
Objective:
•Know the difference between functional programm
and OOP
• Know basic terminology in OOP
• Know the importance of OOP
• Know four design principles of OOP
2
Structured Programming
Using function
Function & program is divided into modules
Every module has its own data and function
which can be called by other modules.
3
OBJECT ORIENTED PROGRAMMING
Object 2
Object 1
Data Data
Function Function
Object 3
Data
Function
4
OBJECT ORIENTED PROGRAMMING
•Objects have both data and methods
• Objects of the same class have the same data
elements and methods
• Objects send and receive messages to invoke
actions
Key idea in object-oriented:
The real world can be accurately described as a collection of
objects that interact.
5
Basic terminology
•object
- usually a person, place or thing (a noun)
•method
- an action performed by an object (a verb)
•attribute
- description of objects in a class
•class
- a category of similar objects (such as
automobiles)
- does not hold any values of the object’s 6
Example for attributes and methods
Attributes: Methods:
manufacturer’s Define data items
name (specify
manufacturer’s name,
model name model, year, etc.)
year made Change a data item
color (color, engine, etc.)
Display data items
number of doors
Calculate cost
size of engine etc.
etc.
7
Why OOP?
• Save development time (and cost) by
reusing code
–once an object class is created it can be
used in other applications
• Easier debugging
–classes can be tested independently
–reused objects have already been tested
8
Design Principles of OOP
Four main design principles of Object-
Oriented Programming(OOP):
• Encapsulation
• Abstraction
• Polymorphism
• Inheritance
9
10
11
12
13
14
15
16
17
18
19
20
21
Abstraction
Focus only on the important facts about the
problem at hand
to design, produce, and describe so that it can
be easily used without knowing the details of
how it works.
Analogy:
When you drive a car, you don’t have to know
how the gasoline and air are mixed and ignited.
Instead you only have to know how to use the
controls.
Draw map
22
23
Encapsulation
•Also known as data hiding
•Only object’s methods can modify
information in the object.
Analogy:
• ATM machine can only update accounts of
one person or object only.
24
25
26
Inheritance
• Inheritance—a way of organizing classes
• Term comes from inheritance of traits like
eye color, hair color, and so on.
• Classes with properties in common can be
grouped so that their common properties are
only defined once.
• Superclass – inherit its attributes &
methods to the subclass(es).
• Subclass – can inherit all its superclass
attributes & methods besides having its own
unique attributes & methods. 27
An Inheritance Hierarchy
Superclass
Vehicle
Subclasses
Automobile Motorcycle Bus
Sedan Sports Car Luxury Bus School Bus
What properties does each vehicle inherit from the types
of vehicles above it in the diagram?
28
29
30
Polymorphism
•the same word or phrase can mean
different things in different contexts
Analogy:
•In English, bank can mean side of a river
or a place to put money
•move -
31
Function Overloading
The operation of one function depends on
the argument passed to it.
Example: Fly(), Fly(low), Fly(150)
32
Object-Oriented Programming Languages
Pure OO Languages
Smalltalk, Eiffel, Actor, Java
Hybrid OO Languages
C++, Objective-C, Object-Pascal
33
34