0% found this document useful (0 votes)
7 views

OOP-Lecture 02

oop in C++

Uploaded by

shahwaizarts
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

OOP-Lecture 02

oop in C++

Uploaded by

shahwaizarts
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 24

Object Oriented

Programming
Dr. Mujeeb Ur Rehman
[email protected]

Recommended Books:
1.C++ How to Program ( Deitel & Deitel );
2.Object-Oriented Software Engineering By Jacobson, Christerson, Jonsson,
Overgaard
Hazrat/Sir Allama Muhammad Iqbal (R.A)
Object-Oriented
Programming (OOP)
Lecture No. 2
Information Hiding

► Information is stored within the object

► It is hidden from the outside world

► Itcan only be manipulated by the


object itself
Example – Information Hiding

► Ali’s name is stored within his brain

► We can’t access his name directly

► Rather we can ask him to tell his name


Example – Information Hiding

►A phone stores several phone numbers

► We can’t read the numbers directly


from the SIM card

► Ratherphone-set reads this


information for us
Information Hiding
Advantages

► Simplifies
the model by hiding
implementation details

► Itis a barrier against change


propagation
Encapsulation

► Data and behaviour are tightly coupled


inside an object

► Boththe information structure and


implementation details of its
operations are hidden from the outer
world
Example – Encapsulation

► Ali
stores his personal information and
knows how to translate it to the
desired language

► We don’t know
 How the data is stored
 How Ali translates this information
Example – Encapsulation
►A Phone stores phone numbers in
digital format and knows how to
convert it into human-readable
characters

► We don’t know
 How the data is stored
 How it is converted to human-readable
characters
Encapsulation – Advantages

► Simplicity and clarity

► Low complexity

► Better understanding
Object has an Interface

► An object encapsulates data and


behaviour
► So how objects interact with each other?
► Each object provides an interface
(operations)
► Other objects communicate through this
interface
Example – Interface of a Car
► Steer Wheels
► Accelerate
► Change Gear
► Apply Brakes
► Turn Lights On/Off
Example – Interface of a
Phone
► Input Number
► Place Call
► Disconnect Call
► Add number to address book
► Remove number
► Update number
Implementation
► Provides services offered by the object
interface

► This includes
 Data structures to hold object state
 Functionality that provides required
services
Example – Implementation of
Gear Box

► Data Structure
 Mechanical structure of gear box

► Functionality
 Mechanism to change gear
Example – Implementation of
Address Book in a Phone

► Data Structure
 SIM card

► Functionality
 Read/write circuitry
Separation of Interface &
Implementation

► Means change in implementation does


not effect object interface

► Thisis achieved via principles of


information hiding and encapsulation
Example – Separation of
Interface & Implementation

►A driver can drive a car independent of


engine type (petrol, diesel)

► Because interface does not change


with the implementation
Example – Separation of
Interface & Implementation

►A driver can apply brakes independent


of brakes type (simple, disk)

► Again, reason is the same interface


Advantages of Separation
► Users
need not to worry about a
change until the interface is same

► Low Complexity

► Directaccess to information structure


of an object can produce errors
Messages

► Objects communicate through


messages
► They send messages (stimuli) by
invoking appropriate operations on the
target object
► The number and kind of messages that
can be sent to an object depends upon
its interface
Examples – Messages

►A Person sends message (stimulus)


“stop” to a Car by applying brakes

►A Person sends message “place call”


to a Phone by pressing appropriate
button

You might also like