Content
What isan Object?
What is a Class?
What is a Message?
Why OOP?
Design Principles of OOP
Requirements of Object-Oriented language
Step by step explanation
Conclusion
References
3.
What is anObject?
An object is a software bundle of related variables and
methods. Software objects are often used to model real-
world objects you find in everyday life.
Visual representation of a software object A bicycle modeled as a software
object
4.
What is aClass?
A class is a blueprint or prototype that defines the
variables and the methods common to all objects of a
certain kind.
Class is an implementation of an abstract data type and
so encapsulates both data and operations.
Object is run-time instance of class.
Classes just sit there, objects do the real work.
Memory is allocated for Objects not for Classes.
5.
What is aMessage?
Software objects interact and communicate with each
other using messages.
The object to which the message is addressed (YourBicycle)
The name of the method to perform (changeGears)
Any parameters needed by the method (lowerGear)
6.
Why OOP?
Save developmenttime (and cost) by reusing
code
once an object class is created it can be used in
other applications
Easier debugging
classes can be tested independently
reused objects have already been tested
7.
To be objectoriented,a language must support
Encapsulation
Inheritance
Dynamic Binding
Some of the popular OO languages are
C++
Smalltalk
Java
Eiffel
FORTRAN90
CLOS(Common Lisp Object System)
Ada95
Modula-3
8.
Encapsulation:
Packaging an object'svariables within the protective
custody of its methods is called encapsulation.
Often, for practical reasons, an object may wish to
expose some of its variables or hide some of its
methods.
Access Levels:
Specifier Class Subclass Package World
Private X
Protected X X X
Public X X X X
9.
Design Principles ofOOP
Four main design principles of Object-
Oriented Programming(OOP):
Encapsulation
Abstraction
Polymorphism
Inheritance
9
10.
What is Inheritance?
Aclass inherits state and behavior from its superclass.
Inheritance provides a powerful and natural mechanism
for organizing and structuring software programs.
Super Class
Subclasses
11.
Properties:
Each subclass inheritsstate (in the form of variable declarations) from the
superclass.
Subclasses can add variables and methods to the ones they inherit from the
superclass.
Subclasses can also override inherited methods and provide specialized
implementations for those methods.
You are not limited to just one layer of inheritance.The inheritance tree, or class
hierarchy, can be as deep as needed.
Benefits:
Re-Usability
Subclasses provide specialized behaviors from the basis of common elements
provided by the superclass.Through the use of inheritance, programmers can
reuse the code in the superclass many times.
Can define Abstract Classes
Programmers can implement superclasses called abstract classes that define
"generic" behaviors.
Dynamic
Binding:
Dynamic bindingoccurs when the type of variable changes at
run-time.
A common way for a variable to change its type is via
assignment.
Bike:= MoutainBike is safe
MountainBike:=Bike is not safe
MountainBike is declared to have all the features of Bike so the
assignment does no harm.
A variable that starts life of the type Bike may be attached to
any object that is a kind of Bike, including
MountainBike,RacingBike,…
A variable that starts life of the type MountainBike can only be
attached to MountainBike objects but does not include RacingBike
or general Bike.
14.
Polymorphism:
The abilityto appear in many forms.
In object-oriented programming,
polymorphism refers to a programming
language's ability to process objects
differently depending on their data type or
class.
It is the ability to redefine methods for
derived classes.
E.g. e-bike Acceleration system.
Electronically / Mechanically
15.
Conclusions
In this paperthe basis for the
development of software intelligent
agents from the programming point of
view has been presented.Two
alternatives were presented.