13
Thinking Object- Oriented Muhammad Adil Raja Introduction Why is OOP Polular? Main Concepts Computation as Simulation More Ideas References T HINKING OBJECT-ORIENTED Muhammad Adil Raja Roaming Researchers, Inc. cbnd April 7, 2015 Muhammad Adil Raja Thinking Object-Oriented

Thinking Object-Oriented

Embed Size (px)

Citation preview

Page 1: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

THINKING OBJECT-ORIENTED

Muhammad Adil Raja

Roaming Researchers, Inc.

cbnd

April 7, 2015

Muhammad Adil Raja Thinking Object-Oriented

Page 2: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas 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

Page 3: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas 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

Page 4: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

WHY IS OOP POLULAR? I

Scalability – from simplest of problems to the mostcomplex.Provides and abstraction that resonates withtechniques people use to solve problems in their dailylives.Libraries assist in code reusability.Addresses the software crisis.Our imaginations and the tasks we would like to solvewith computers outstrips our abilities.A new paradigm.Structure for scientific revolutions.

Muhammad Adil Raja Thinking Object-Oriented

Page 5: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

MAIN CONCEPTS I

Everything is an object.Computation is performed by objects communicatingwith each other, requesting that other objects performactions.Objects communicate by sending and receivingmessages.A message is a request for action bundled withwhatever arguments may be necessary to complete thetask.Each object has its own memory, which consists ofother objects.

Muhammad Adil Raja Thinking Object-Oriented

Page 6: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

MAIN CONCEPTS II

Every object is an instance of a class. A class simplyrepresents a grouping of similar objects, such asinteger or lists.

Classes are organized into a singly rooted treestructure, called the inheritance hierarchy.

Memory and behavior associated with instances of aclass are automatically available. to any classassociated with a descendant in this tree structure.

Muhammad Adil Raja Thinking Object-Oriented

Page 7: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

COMPUTATION AS SIMULATION I

Your world-view is that everything in the universe canbe seen as an object.

Through messages you can get those objects tocommunicate with each other.

As you design the various objects and their interplaywith each other, a nice simulation of the phenomenonemerges.

As you implement all the stuff together, you can run thissimulation as a computation.

Muhammad Adil Raja Thinking Object-Oriented

Page 8: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

MORE IDEAS I

OOP is a new way of thinking about the process ofdecomposing problems and developing programmingsolutions.OOP is not simply a few new features added toprogramming languages.OOP views a program as a collection of looselyconnected agents, termed objects.Each object is responsible for specific tasks.It is by the interaction of objects that computationproceeds.In a certain sense, therefore, programming is nothingmore or less than the simulation of a model universe.

Muhammad Adil Raja Thinking Object-Oriented

Page 9: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

MORE IDEAS II

An object is an encapsulation of state (data values) andbehavior (operations).So an object is in many ways similar to a specialpurpose 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 similarfashion.This means that they would invoke the same method inresponse to a similar request.An object will exhibit its behavior by invoking a method(similar to executing a procedure) in response to amessage.

Muhammad Adil Raja Thinking Object-Oriented

Page 10: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

MORE IDEAS III

The interpretation of the message (that is, the specificmethod used) is decided by the object and may differfrom one class of objects to another.Classes can be linked to each other by means of thenotion of inheritance.Using inheritance, classes are organized into ahierarchical inheritance tree.Data and behavior associated with classes higher inthe tree can also be accessed and used by classeslower in the tree.Such classes are said to inherit their behavior from theparent classes.Designing an object oriented program is like organizinga community of individuals.

Muhammad Adil Raja Thinking Object-Oriented

Page 11: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

MORE IDEAS IV

Each member of the community is given certainresponsibilities.The achievement of the goals for the community as awhole come about through the work of each member,and the interactions of members with each other.By reducing the interdependency among softwarecomponents, object-oriented programming permits thedevelopment of reusable software systems.Such components can be created and tested asindependent units, in isolation from other portions of asoftware application.Reusable software components permit the programmerto deal with problems on a higher level abstraction.

Muhammad Adil Raja Thinking Object-Oriented

Page 12: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

MORE IDEAS V

We can define and manipulate objects simply in termsof the messages they understand and a description ofthe tasks they perform.

We can do all of this by ignoring implementation details.

Muhammad Adil Raja Thinking Object-Oriented

Page 13: Thinking Object-Oriented

ThinkingObject-

Oriented

MuhammadAdil Raja

Introduction

Why is OOPPolular?

MainConcepts

Computationas Simulation

More Ideas

References

REFERENCES I

An Introduction to Object Oriented Programming,Timothy Budd.

Muhammad Adil Raja Thinking Object-Oriented