0% found this document useful (0 votes)
50 views25 pages

Object Oriented Programming: Week 1

This document discusses object-oriented programming and data abstraction. It compares procedural and object-oriented programming paradigms. Object-oriented programming groups instructions with the part of the state they operate on. An example is provided of an object-oriented model showing objects like Ali and a house and their interactions. Data abstraction hides internal details and provides only essential information to outside users, like an AC hiding its internal workings. Data abstraction can be achieved through header files and in object-oriented programming by selecting only relevant attributes for an application from all available information.

Uploaded by

Tariq Ullah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views25 pages

Object Oriented Programming: Week 1

This document discusses object-oriented programming and data abstraction. It compares procedural and object-oriented programming paradigms. Object-oriented programming groups instructions with the part of the state they operate on. An example is provided of an object-oriented model showing objects like Ali and a house and their interactions. Data abstraction hides internal details and provides only essential information to outside users, like an AC hiding its internal workings. Data abstraction can be achieved through header files and in object-oriented programming by selecting only relevant attributes for an application from all available information.

Uploaded by

Tariq Ullah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 25

Object Oriented Programming

WEEK 1
ABEER GAUHER
EMAIL: [email protected]
OFFICE: CS BASEMENT 2, OFFICE NUMBER 17
Contents 2

 Comparison from object oriented & procedural paradigms


 Introduction to OO paradigm
 Data Abstraction
3
Programming Paradigms 4

 Programming paradigms are a way to classify programming


languages based on their features.
 Common programming paradigm include:
 imperative in which the programmer instructs the machine how to change its state,
 procedural which groups instructions into procedures,
 object-oriented which groups instructions with the part of the state they operate on.
Programming Paradigms 5

Procedural
 For example,
 Beginners Allpurpose Symbolic Instruction Code (BASIC) – it was
developed to enable more people to write programs.
C – a general-purpose programming language, initially developed
by Dennis Ritchie between 1969 and 1973 at AT&T Bell Labs.
 Describe, step by step, exactly the procedure that should, according
to the particular programmer at least, be followed to solve a specific
problem.
Programming Paradigms 6

Object-oriented
 Data and methods to manipulate it are kept as one unit
called an object.
 With perfect encapsulation, one of the distinguishing
features of OOP, the only way that another object or user
would be able to access the data is via the object's methods.
 Thus, an object's inner workings may be changed without
affecting any code that uses the object.
7
Procedural vs. Object-Oriented 8

Programming
What is a Model? 9

 A model is an abstraction of something

 Real World Entities

 Purpose is to understand the product before developing it


Examples – Model 10

 Highway maps

 Architectural models

 Mechanical models
Example – OO Model 11
Example – OO Model 12

lives-in
Ali House
 Objects
 Ali drives

 House

 Car Car Tree


 Tree

 Interactions
 Ali lives in the house
 Ali drives the car
Object-Orientation - Advantages 13

 People think in terms of objects

 OO models map to reality

 Therefore, OO models are


 easy to develop
 easy to understand
Class and Object 14
Class and Object 15
What is an Object? 16

An object is
 Something tangible (Ali, Car)
 Something that can be apprehended intellectually (Time, Date)

An object has
 State (attributes)
 Well-defined behaviour (operations)
 Unique identity
Concept: An object has behaviors 17

An object contains both data and


methods that manipulate that data
An object is active, not passive; it does
things
Example – Ali is a Tangible Object 18

State (attributes)
Name
Age

behaviour (operations)
Walks
Eats
Example – Car is a Tangible Object 19

State (attributes)
- Color
- Model
behaviour (operations)
- Accelerate - Start Car
- Change Gear
Example – Date is an Object Apprehended 20
Intellectually
State (attributes)
 Year - Day
 Month
behaviour (operations)
- Set Year - Set Day
- Set Month
Data Abstraction 21

 Process of providing only the essential details to the outside


world and hiding the internal details.
 Let's take a real life example of AC, which can be turned ON or
OFF, change the temperature, change the mode, and other
external components such as fan, swing. But, we don't know the
internal details of the AC, i.e., how it works internally. Thus,
we can say that AC seperates the implementation details from
the external interface.
 C++ provides a great level of abstraction. For example, pow()
function is used to calculate the power of a number without
knowing the algorithm the function follows.
Data Abstraction 22

 Data Abstraction can be achieved by:


 Abstraction in header files
 Abstraction in header files: An another type of abstraction
is header file. For example, pow() function available is
used to calculate the power of a number without actually
knowing which algorithm function uses to calculate the
power.
Data Abstraction 23

 Let’s Study Abstraction in OOPs


with example:
 Suppose you want to create a banking
application and you are asked to
collect all the information about your
customer.
Data Abstraction 24

 So, you need to select only the useful


information for your banking application
from that pool.
 Data like name, address, tax information,
etc. make sense for a banking application
which is an Abstraction example in OOP.
Data Abstraction 25

You might also like