GENERAL OOP
CONCEPT
BY:

DIGVIJAY SINGH KARAKOTI
INTRODUCTION
With the rapidly changing world and the highly competitive and
versatile nature of industry, the operations are becoming more
and more complex.
In view of the increasing complexity of software systems, the
software industry and software engineer continuously look for the
new approaches to software design and development. The most
adopted and popular programming approach, structured
programming approach, failed to show the desired results in terms
of bug-free, easy-to-maintain, and reusable programs.
The latest programming approach, Object-oriented programming
(OOP), offers a new and powerful way to cope with this
complexity. Its goal is clearer, more reliable, more easily
maintained programs.
THE OBJECT-ORIENTED
PROGRAMMING

Object-oriented programming is the most recent concept among
programming paradigms and still different things to different
people.
“Object-oriented programming is an approach that provides a way of

modularizing programs by creating partitioned memory area for both
data and functions that can be used as templates for creating copies of
such modules on demand.”
That is, an object is considered to be a partitioned area of computer
memory that stores data and set of operations that can access that
data. Since the memory partitions are independent, the objects can be
used in a variety of different programs without modifications.
BASIC CONCEPTS OF OOP
OBJECTS
Object is an identifiable entity with some characteristics
and behavior.
They may represent a person, a place, a bank
account, a table of data or any item that the
program must handle.
Fig.: Object representation

They may also represent user-defined data such
as vectors, time and lists.
Each object contains data and code to manipulate
the data.
CLASSES
A Class is a template/blue-print representing a group of
objects that share common properties and
relationships.
A class is thus a collection of objects of similar type.
For instance:- mango, apple and orange are members of the
class fruit.

Fig.: Class representation
DATA ENCAPSULATION
The wrapping up of data and functions into a single unit (called class)
is known as Encapsulation.
Data encapsulation is the most striking feature of a
class.
The data is not accessible to the outside world
and only those functions which are wrapped in the
class can access it. These functions provide the interface between the
object’s data and the program.
This insulation of the data from direct access by the
program is called Data hiding.
DATA ABSTRACTION

Abstraction refers to the act of representing essential
features without including the background details or
explanations.
Classes use the concept of abstraction and are
defined as a list of abstract attributes such as size,
weight and cost, and functions to operate on these
attributes.
They encapsulate all the essential
properties of the objects that are to be created.
Since the classes use the concept of data abstraction,
they are known as Abstract Data Type(ADT)
INHERITANCE
Inheritance is the process by which objects of one
class acquire the properties of objects of another
class. It supports the concept of hierarchical
classification.
Inheritance provides the idea of reusability. This
means that we can add additional features to an
existing class without modifying it.
This is possible by
deriving a new class from the existing one.
The new class will have the combined features of both
the classes.
Bird
Attributes:
Feathers
Lay eggs

Flying bird

Non-flying

Attributes:

Robin
Attributes:

Fig.: Property
Fig.: Property
Inheritance
Inheritance

Swallow
Attributes:

Penguin
Attributes:

bird
Attributes:

Kiwi
Attributes:
POLYMORPHISM
Polymorphism is another important OOP concept.
Polymorphism means the ability to take more
than one form.
For instance: consider the operation of addition.
For
two numbers, the operation will generate a sum. If
the operands are strings, then the operation would
produce a third string by concatenation.
Polymorphism is extremely used in implementing
Shape
Draw( )

Circle
object
Draw(circle)

Box
object
Draw(box )

Triangle

object
Draw(triangle)
DYNAMIC BINDING

Binding refers to the linking of a procedure call to the
code to be executed in response to the call.
Dynamic binding means that the code associated with
a given procedure call is not known until the time of
the call at run-time.
It is associated with polymorphism and inheritance.
A function call associated with a polymorphic reference
depends on the dynamic type of that reference.
Shape
Draw( )

Circle
object
Draw(circle)

Box
object
Draw(box )

Triangle

object
Draw(triangle)

By inheritance, every object will have this procedure. Its algorithm is, however, unique to each
By inheritance, every object will have this procedure. Its algorithm is, however, unique to each
object and so the draw procedure will be redefined in each class that defines the object.
object and so the draw procedure will be redefined in each class that defines the object.
At run-time, the code matching the object under current reference will be called.
At run-time, the code matching the object under current reference will be called.
MESSAGE COMMUNICATION
An object-oriented program consists of a set of objects that communicate with each
other. The process of programming in an object-oriented language therefore
involves
the following basic steps:
(1) Creating classes that define objects and their
behavior.
(2) Creating objects from class definitions.
(3) Establishing communication among objects.
Objects communicate with one another by sending and receiving information much
the same way as people pass messages to one another. The concept of message
passing makes it easier to talk about building systems that directly model or
simulate
their real-world counterparts.
A message for an object is a request for execution of a procedure, and therefore will
invoke a function (procedure) in the receiving object, that generates the desired
result.
Message passing involves specifying the name of the object, the name of the
employees

salary

object

(name);

information

message

Objects have a life cycle.
Objects have a life cycle.
They can be created and destroyed.
They can be created and destroyed.
Communication with an object is feasible as long as it is alive.
Communication with an object is feasible as long as it is alive.
General OOP concept [by-Digvijay]

General OOP concept [by-Digvijay]

  • 1.
  • 2.
    INTRODUCTION With the rapidlychanging world and the highly competitive and versatile nature of industry, the operations are becoming more and more complex. In view of the increasing complexity of software systems, the software industry and software engineer continuously look for the new approaches to software design and development. The most adopted and popular programming approach, structured programming approach, failed to show the desired results in terms of bug-free, easy-to-maintain, and reusable programs. The latest programming approach, Object-oriented programming (OOP), offers a new and powerful way to cope with this complexity. Its goal is clearer, more reliable, more easily maintained programs.
  • 3.
    THE OBJECT-ORIENTED PROGRAMMING Object-oriented programmingis the most recent concept among programming paradigms and still different things to different people. “Object-oriented programming is an approach that provides a way of modularizing programs by creating partitioned memory area for both data and functions that can be used as templates for creating copies of such modules on demand.” That is, an object is considered to be a partitioned area of computer memory that stores data and set of operations that can access that data. Since the memory partitions are independent, the objects can be used in a variety of different programs without modifications.
  • 4.
  • 5.
    OBJECTS Object is anidentifiable entity with some characteristics and behavior. They may represent a person, a place, a bank account, a table of data or any item that the program must handle. Fig.: Object representation They may also represent user-defined data such as vectors, time and lists. Each object contains data and code to manipulate the data.
  • 6.
    CLASSES A Class isa template/blue-print representing a group of objects that share common properties and relationships. A class is thus a collection of objects of similar type. For instance:- mango, apple and orange are members of the class fruit. Fig.: Class representation
  • 7.
    DATA ENCAPSULATION The wrappingup of data and functions into a single unit (called class) is known as Encapsulation. Data encapsulation is the most striking feature of a class. The data is not accessible to the outside world and only those functions which are wrapped in the class can access it. These functions provide the interface between the object’s data and the program. This insulation of the data from direct access by the program is called Data hiding.
  • 8.
    DATA ABSTRACTION Abstraction refersto the act of representing essential features without including the background details or explanations. Classes use the concept of abstraction and are defined as a list of abstract attributes such as size, weight and cost, and functions to operate on these attributes. They encapsulate all the essential properties of the objects that are to be created. Since the classes use the concept of data abstraction, they are known as Abstract Data Type(ADT)
  • 9.
    INHERITANCE Inheritance is theprocess by which objects of one class acquire the properties of objects of another class. It supports the concept of hierarchical classification. Inheritance provides the idea of reusability. This means that we can add additional features to an existing class without modifying it. This is possible by deriving a new class from the existing one. The new class will have the combined features of both the classes.
  • 10.
    Bird Attributes: Feathers Lay eggs Flying bird Non-flying Attributes: Robin Attributes: Fig.:Property Fig.: Property Inheritance Inheritance Swallow Attributes: Penguin Attributes: bird Attributes: Kiwi Attributes:
  • 11.
    POLYMORPHISM Polymorphism is anotherimportant OOP concept. Polymorphism means the ability to take more than one form. For instance: consider the operation of addition. For two numbers, the operation will generate a sum. If the operands are strings, then the operation would produce a third string by concatenation. Polymorphism is extremely used in implementing
  • 12.
  • 13.
    DYNAMIC BINDING Binding refersto the linking of a procedure call to the code to be executed in response to the call. Dynamic binding means that the code associated with a given procedure call is not known until the time of the call at run-time. It is associated with polymorphism and inheritance. A function call associated with a polymorphic reference depends on the dynamic type of that reference.
  • 14.
    Shape Draw( ) Circle object Draw(circle) Box object Draw(box ) Triangle object Draw(triangle) Byinheritance, every object will have this procedure. Its algorithm is, however, unique to each By inheritance, every object will have this procedure. Its algorithm is, however, unique to each object and so the draw procedure will be redefined in each class that defines the object. object and so the draw procedure will be redefined in each class that defines the object. At run-time, the code matching the object under current reference will be called. At run-time, the code matching the object under current reference will be called.
  • 15.
    MESSAGE COMMUNICATION An object-orientedprogram consists of a set of objects that communicate with each other. The process of programming in an object-oriented language therefore involves the following basic steps: (1) Creating classes that define objects and their behavior. (2) Creating objects from class definitions. (3) Establishing communication among objects. Objects communicate with one another by sending and receiving information much the same way as people pass messages to one another. The concept of message passing makes it easier to talk about building systems that directly model or simulate their real-world counterparts. A message for an object is a request for execution of a procedure, and therefore will invoke a function (procedure) in the receiving object, that generates the desired result. Message passing involves specifying the name of the object, the name of the
  • 16.
    employees salary object (name); information message Objects have alife cycle. Objects have a life cycle. They can be created and destroyed. They can be created and destroyed. Communication with an object is feasible as long as it is alive. Communication with an object is feasible as long as it is alive.