Chapter one
Overview of Object
oriented programming
1
STRUCTURED vs. OO PROGRAMMING
STRUCTURED PROGRAMMING:
MAIN PROGRAM GLOBAL DATA
FUNCTION FUNCTION 2 FUNCTION 3
1
FUNCTION 4 FUNCTION 5
2
OBJECT ORIENTED PROGRAMMING
Object 2
Object 1
Data Data
Function Function
Object 3
Data
Function
3
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.
4
Benefits of 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
5
Basic concepts of OOP
class
- a category of similar objects (such as automobiles)
-does not hold any values of the object’s attributes
-object
-usually a person, place or thing (a noun)
6
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
7
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.
8
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.
9
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?
10
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
11
Object-Oriented Programming Languages
Pure OO Languages
Java
Hybrid OO Languages
C++
12