SlideShare a Scribd company logo
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
THINKING OBJECT-ORIENTED
Muhammad Adil Raja
Roaming Researchers, Inc.
cbnd
April 7, 2015
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
OUTLINE I
1 INTRODUCTION
2 WHY IS OOP POLULAR?
3 MAIN CONCEPTS
4 COMPUTATION AS SIMULATION
5 MORE IDEAS
6 REFERENCES
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
INTRODUCTION I
What is OOP?
A revolutionary idea.
Unlike anything that has come in programming before.
OOP is an evolutionary step.
Based on the earlier programming abstractions.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
WHY IS OOP POLULAR? I
Scalability – from simplest of problems to the most
complex.
Provides and abstraction that resonates with
techniques people use to solve problems in their daily
lives.
Libraries assist in code reusability.
Addresses the software crisis.
Our imaginations and the tasks we would like to solve
with computers outstrips our abilities.
A new paradigm.
Structure for scientific revolutions.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
MAIN CONCEPTS I
Everything is an object.
Computation is performed by objects communicating
with each other, requesting that other objects perform
actions.
Objects communicate by sending and receiving
messages.
A message is a request for action bundled with
whatever arguments may be necessary to complete the
task.
Each object has its own memory, which consists of
other objects.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
MAIN CONCEPTS II
Every object is an instance of a class. A class simply
represents a grouping of similar objects, such as
integer or lists.
Classes are organized into a singly rooted tree
structure, called the inheritance hierarchy.
Memory and behavior associated with instances of a
class are automatically available. to any class
associated with a descendant in this tree structure.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
COMPUTATION AS SIMULATION I
Your world-view is that everything in the universe can
be seen as an object.
Through messages you can get those objects to
communicate with each other.
As you design the various objects and their interplay
with each other, a nice simulation of the phenomenon
emerges.
As you implement all the stuff together, you can run this
simulation as a computation.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
MORE IDEAS I
OOP is a new way of thinking about the process of
decomposing problems and developing programming
solutions.
OOP is not simply a few new features added to
programming languages.
OOP views a program as a collection of loosely
connected agents, termed objects.
Each object is responsible for specific tasks.
It is by the interaction of objects that computation
proceeds.
In a certain sense, therefore, programming is nothing
more or less than the simulation of a model universe.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
MORE IDEAS II
An object is an encapsulation of state (data values) and
behavior (operations).
So an object is in many ways similar to a special
purpose computer.
The behavior of objects is dictated by the object class.
Every object is an instance of some class.
All instances of the same class will behave in a similar
fashion.
This means that they would invoke the same method in
response to a similar request.
An object will exhibit its behavior by invoking a method
(similar to executing a procedure) in response to a
message.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
MORE IDEAS III
The interpretation of the message (that is, the specific
method used) is decided by the object and may differ
from one class of objects to another.
Classes can be linked to each other by means of the
notion of inheritance.
Using inheritance, classes are organized into a
hierarchical inheritance tree.
Data and behavior associated with classes higher in
the tree can also be accessed and used by classes
lower in the tree.
Such classes are said to inherit their behavior from the
parent classes.
Designing an object oriented program is like organizing
a community of individuals.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
MORE IDEAS IV
Each member of the community is given certain
responsibilities.
The achievement of the goals for the community as a
whole come about through the work of each member,
and the interactions of members with each other.
By reducing the interdependency among software
components, object-oriented programming permits the
development of reusable software systems.
Such components can be created and tested as
independent units, in isolation from other portions of a
software application.
Reusable software components permit the programmer
to deal with problems on a higher level abstraction.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
MORE IDEAS V
We can define and manipulate objects simply in terms
of the messages they understand and a description of
the tasks they perform.
We can do all of this by ignoring implementation details.
Muhammad Adil Raja Thinking Object-Oriented
Thinking
Object-
Oriented
Muhammad
Adil Raja
Introduction
Why is OOP
Polular?
Main
Concepts
Computation
as Simulation
More Ideas
References
REFERENCES I
An Introduction to Object Oriented Programming,
Timothy Budd.
Muhammad Adil Raja Thinking Object-Oriented

More Related Content

Similar to Thinking Object-Oriented (20)

PPTX
Object model
Harry Potter
 
PPTX
Object model
Fraboni Ec
 
PPTX
Object model
Hoang Nguyen
 
PPTX
Object model
James Wong
 
PPTX
Object model
Young Alista
 
PDF
An Introduction to Object Oriented Programming
adil raja
 
PPT
Opps approch of software development
Raja Babu
 
PPTX
OOP History and Core Concepts
Nghia Bui Van
 
DOC
Object
guest94b187c
 
PPT
CSCI-383 Lecture 2: Thinking Object-Oriented (2)
JI Ruan
 
PPT
History of Object Orientation in OOP.ppt
athar549116
 
PPT
History of Object Orientation in OOP.ppt
Muhammad Athar
 
PPT
MODULE1 GGUY8IFSEW579O0OIIHHGRFTY JI9OUIYFD
rani540096
 
PDF
Object And Oriented Programing ( Oop ) Languages
Jessica Deakin
 
PPT
Module01_OO_Intro.ppt
NelsonYanes6
 
PPT
Module01_OO_Intro.ppt
RajKamal95773
 
PPTX
Intro to oop.pptx
UmerUmer25
 
PDF
OOP vs COP
Gianluca Padovani
 
DOCX
Unit1 jaava
mrecedu
 
Object model
Harry Potter
 
Object model
Fraboni Ec
 
Object model
Hoang Nguyen
 
Object model
James Wong
 
Object model
Young Alista
 
An Introduction to Object Oriented Programming
adil raja
 
Opps approch of software development
Raja Babu
 
OOP History and Core Concepts
Nghia Bui Van
 
Object
guest94b187c
 
CSCI-383 Lecture 2: Thinking Object-Oriented (2)
JI Ruan
 
History of Object Orientation in OOP.ppt
athar549116
 
History of Object Orientation in OOP.ppt
Muhammad Athar
 
MODULE1 GGUY8IFSEW579O0OIIHHGRFTY JI9OUIYFD
rani540096
 
Object And Oriented Programing ( Oop ) Languages
Jessica Deakin
 
Module01_OO_Intro.ppt
NelsonYanes6
 
Module01_OO_Intro.ppt
RajKamal95773
 
Intro to oop.pptx
UmerUmer25
 
OOP vs COP
Gianluca Padovani
 
Unit1 jaava
mrecedu
 

More from adil raja (20)

PDF
ANNs.pdf
adil raja
 
PDF
A Software Requirements Specification
adil raja
 
PDF
NUAV - A Testbed for Development of Autonomous Unmanned Aerial Vehicles
adil raja
 
PDF
DevOps Demystified
adil raja
 
PDF
On Research (And Development)
adil raja
 
PDF
Simulators as Drivers of Cutting Edge Research
adil raja
 
PDF
The Knock Knock Protocol
adil raja
 
PDF
File Transfer Through Sockets
adil raja
 
PDF
Remote Command Execution
adil raja
 
PDF
Thesis
adil raja
 
PDF
CMM Level 3 Assessment of Xavor Pakistan
adil raja
 
PDF
Data Warehousing
adil raja
 
PDF
Implementation of a Non-Intrusive Speech Quality Assessment Tool on a Mid-Net...
adil raja
 
PDF
Implementation of a Non-Intrusive Speech Quality Assessment Tool on a Mid-Net...
adil raja
 
PDF
Real-Time Non-Intrusive Speech Quality Estimation for VoIP
adil raja
 
PDF
VoIP
adil raja
 
PDF
ULMAN GUI Specifications
adil raja
 
PDF
Modeling the Effect of Packet Loss on Speech Quality: Genetic Programming Bas...
adil raja
 
PDF
ULMAN-GUI
adil raja
 
PDF
Modeling the Effect of Packet Loss on Speech Quality: Genetic Programming Bas...
adil raja
 
ANNs.pdf
adil raja
 
A Software Requirements Specification
adil raja
 
NUAV - A Testbed for Development of Autonomous Unmanned Aerial Vehicles
adil raja
 
DevOps Demystified
adil raja
 
On Research (And Development)
adil raja
 
Simulators as Drivers of Cutting Edge Research
adil raja
 
The Knock Knock Protocol
adil raja
 
File Transfer Through Sockets
adil raja
 
Remote Command Execution
adil raja
 
Thesis
adil raja
 
CMM Level 3 Assessment of Xavor Pakistan
adil raja
 
Data Warehousing
adil raja
 
Implementation of a Non-Intrusive Speech Quality Assessment Tool on a Mid-Net...
adil raja
 
Implementation of a Non-Intrusive Speech Quality Assessment Tool on a Mid-Net...
adil raja
 
Real-Time Non-Intrusive Speech Quality Estimation for VoIP
adil raja
 
VoIP
adil raja
 
ULMAN GUI Specifications
adil raja
 
Modeling the Effect of Packet Loss on Speech Quality: Genetic Programming Bas...
adil raja
 
ULMAN-GUI
adil raja
 
Modeling the Effect of Packet Loss on Speech Quality: Genetic Programming Bas...
adil raja
 
Ad

Recently uploaded (20)

PPTX
Folding Off Hours in Gantt View in Odoo 18.2
Celine George
 
PPTX
Nutri-QUIZ-Bee-Elementary.pptx...................
ferdinandsanbuenaven
 
PDF
Right to Information.pdf by Sapna Maurya XI D
Directorate of Education Delhi
 
PPTX
PYLORIC STENOSIS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
PPTX
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PDF
Ziehl-Neelsen Stain: Principle, Procedu.
PRASHANT YADAV
 
PPTX
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
PPTX
Maternal and Child Tracking system & RCH portal
Ms Usha Vadhel
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PPTX
How to Define Translation to Custom Module And Add a new language in Odoo 18
Celine George
 
PPTX
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
PPTX
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
PPTX
THE HUMAN INTEGUMENTARY SYSTEM#MLT#BCRAPC.pptx
Subham Panja
 
PPTX
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
PPTX
Presentation: Climate Citizenship Digital Education
Karl Donert
 
PPTX
Nutrition Month 2025 TARP.pptx presentation
FairyLouHernandezMej
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PPSX
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
Folding Off Hours in Gantt View in Odoo 18.2
Celine George
 
Nutri-QUIZ-Bee-Elementary.pptx...................
ferdinandsanbuenaven
 
Right to Information.pdf by Sapna Maurya XI D
Directorate of Education Delhi
 
PYLORIC STENOSIS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
Ziehl-Neelsen Stain: Principle, Procedu.
PRASHANT YADAV
 
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
Maternal and Child Tracking system & RCH portal
Ms Usha Vadhel
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
How to Define Translation to Custom Module And Add a new language in Odoo 18
Celine George
 
Various Psychological tests: challenges and contemporary trends in psychologi...
santoshmohalik1
 
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
THE HUMAN INTEGUMENTARY SYSTEM#MLT#BCRAPC.pptx
Subham Panja
 
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
Presentation: Climate Citizenship Digital Education
Karl Donert
 
Nutrition Month 2025 TARP.pptx presentation
FairyLouHernandezMej
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
Ad

Thinking Object-Oriented

  • 1. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References THINKING OBJECT-ORIENTED Muhammad Adil Raja Roaming Researchers, Inc. cbnd April 7, 2015 Muhammad Adil Raja Thinking Object-Oriented
  • 2. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References OUTLINE I 1 INTRODUCTION 2 WHY IS OOP POLULAR? 3 MAIN CONCEPTS 4 COMPUTATION AS SIMULATION 5 MORE IDEAS 6 REFERENCES Muhammad Adil Raja Thinking Object-Oriented
  • 3. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References INTRODUCTION I What is OOP? A revolutionary idea. Unlike anything that has come in programming before. OOP is an evolutionary step. Based on the earlier programming abstractions. Muhammad Adil Raja Thinking Object-Oriented
  • 4. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References WHY IS OOP POLULAR? I Scalability – from simplest of problems to the most complex. Provides and abstraction that resonates with techniques people use to solve problems in their daily lives. Libraries assist in code reusability. Addresses the software crisis. Our imaginations and the tasks we would like to solve with computers outstrips our abilities. A new paradigm. Structure for scientific revolutions. Muhammad Adil Raja Thinking Object-Oriented
  • 5. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References MAIN CONCEPTS I Everything is an object. Computation is performed by objects communicating with each other, requesting that other objects perform actions. Objects communicate by sending and receiving messages. A message is a request for action bundled with whatever arguments may be necessary to complete the task. Each object has its own memory, which consists of other objects. Muhammad Adil Raja Thinking Object-Oriented
  • 6. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References MAIN CONCEPTS II Every object is an instance of a class. A class simply represents a grouping of similar objects, such as integer or lists. Classes are organized into a singly rooted tree structure, called the inheritance hierarchy. Memory and behavior associated with instances of a class are automatically available. to any class associated with a descendant in this tree structure. Muhammad Adil Raja Thinking Object-Oriented
  • 7. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References COMPUTATION AS SIMULATION I Your world-view is that everything in the universe can be seen as an object. Through messages you can get those objects to communicate with each other. As you design the various objects and their interplay with each other, a nice simulation of the phenomenon emerges. As you implement all the stuff together, you can run this simulation as a computation. Muhammad Adil Raja Thinking Object-Oriented
  • 8. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References MORE IDEAS I OOP is a new way of thinking about the process of decomposing problems and developing programming solutions. OOP is not simply a few new features added to programming languages. OOP views a program as a collection of loosely connected agents, termed objects. Each object is responsible for specific tasks. It is by the interaction of objects that computation proceeds. In a certain sense, therefore, programming is nothing more or less than the simulation of a model universe. Muhammad Adil Raja Thinking Object-Oriented
  • 9. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References MORE IDEAS II An object is an encapsulation of state (data values) and behavior (operations). So an object is in many ways similar to a special purpose computer. The behavior of objects is dictated by the object class. Every object is an instance of some class. All instances of the same class will behave in a similar fashion. This means that they would invoke the same method in response to a similar request. An object will exhibit its behavior by invoking a method (similar to executing a procedure) in response to a message. Muhammad Adil Raja Thinking Object-Oriented
  • 10. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References MORE IDEAS III The interpretation of the message (that is, the specific method used) is decided by the object and may differ from one class of objects to another. Classes can be linked to each other by means of the notion of inheritance. Using inheritance, classes are organized into a hierarchical inheritance tree. Data and behavior associated with classes higher in the tree can also be accessed and used by classes lower in the tree. Such classes are said to inherit their behavior from the parent classes. Designing an object oriented program is like organizing a community of individuals. Muhammad Adil Raja Thinking Object-Oriented
  • 11. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References MORE IDEAS IV Each member of the community is given certain responsibilities. The achievement of the goals for the community as a whole come about through the work of each member, and the interactions of members with each other. By reducing the interdependency among software components, object-oriented programming permits the development of reusable software systems. Such components can be created and tested as independent units, in isolation from other portions of a software application. Reusable software components permit the programmer to deal with problems on a higher level abstraction. Muhammad Adil Raja Thinking Object-Oriented
  • 12. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References MORE IDEAS V We can define and manipulate objects simply in terms of the messages they understand and a description of the tasks they perform. We can do all of this by ignoring implementation details. Muhammad Adil Raja Thinking Object-Oriented
  • 13. Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References REFERENCES I An Introduction to Object Oriented Programming, Timothy Budd. Muhammad Adil Raja Thinking Object-Oriented