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

Object-Oriented Programming (OOP) Lecture No. 2

The document discusses key concepts in object-oriented programming including information hiding, encapsulation, interfaces, and messages. It provides examples to illustrate these concepts such as data being hidden inside objects and interfaces defining operations that other objects can use to communicate. The advantages of these OOP concepts are that they simplify programs, provide barriers against changes, and allow separation of interfaces from implementations.

Uploaded by

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

Object-Oriented Programming (OOP) Lecture No. 2

The document discusses key concepts in object-oriented programming including information hiding, encapsulation, interfaces, and messages. It provides examples to illustrate these concepts such as data being hidden inside objects and interfaces defining operations that other objects can use to communicate. The advantages of these OOP concepts are that they simplify programs, provide barriers against changes, and allow separation of interfaces from implementations.

Uploaded by

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

Object-Oriented Programming

(OOP)
Lecture No. 2
Information Hiding

► Information is stored within the object

► It is hidden from the outside world

► It can 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

► Wecan’t read the numbers directly from the


SIM card

► Rather phone-set reads this information for


us
Information Hiding
Advantages

► Simplifies
the model by hiding
implementation details

► It is 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

► Alistores 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