OBJECT-ORIENTED CONCEPTS - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

OBJECT-ORIENTED CONCEPTS

Description:

OBJECT-ORIENTED CONCEPTS What is an object? An object is a software entity that mirrors the real world in some way. A software object in OOP has data (the attributes ... – PowerPoint PPT presentation

Number of Views:211
Avg rating:3.0/5.0
Slides: 29
Provided by: Test203
Category:

less

Transcript and Presenter's Notes

Title: OBJECT-ORIENTED CONCEPTS


1
OBJECT-ORIENTED CONCEPTS
2
What is an object?
  • An object is a software entity that mirrors the
    real world in some way.
  • A software object in OOP has data (the
    attributes) and code that responds to
    instructions. Think of the code and data as
    being welded together --the code completely
    wrapping the data in a shell to protect it from
    the hostile outside world." Franz

3
What is an object?(Continued)
  • An object has state, behavior, and identity
    Booch 91
  • An object is an encapsulation of state (data
    values) and behavior (operations). Thus an
    object is in many ways similar to a module, or an
    abstract data type." Budd

4
Procedural languages vs Object-oriented
languages?
  • Procedural languages (Pascal, C, Fortran, etc.)
    operate on data a step at a time. A program
    written in one of these languages has two
    components
  • data (variables and records)
  • code (instructions that act on the data and do
    the work).
  • There is a rigid separation of code from data.

5
PRO-Lang vs OO-Lang (Continued)
  • An object-oriented language breaks a program into
    hundreds of tiny entities that have small bits of
    code and data fused tightly together. Where
    subroutines are a convenience in a procedural
    language, the separateness of these entities is
    essential to an object-oriented program.

6
OBJECT-ORIENTATION - A NEW PARADIGM
  • Object-oriented programming is a new programming
    paradigm (a new way of viewing the world).
  • The underlying ideas of the object-oriented
    technique are the same basic methods humans use
    to solve problems in the world (e.g.,
    abstraction).

7
OO A NEW PARADIGM (Continued)
  • Computer novices and children grasp the ideas of
    OOP easier than computer professionals. The
    professionals require a paradigm shift which is
    very difficult (due to preconceived notions)
    whereas the children don't.

8
TERMS
  • Object A software entity that mirrors the real
    world in some way. Everything in an
    object-oriented programming language is an
    object.
  • Class A class is a template from which objects
    are created (i.e., a blueprint for the objects
    it defines). Every object made from a class is
    the same as every other.

9
TERMS(Continued)
  • Instance Instances are the individual objects
    created by a class. Every object is an instance
    of a class.
  • Related Term
  • Instantiation Creating a new (specific) object
    from a general class is called instantiation.

10
TERMS(Continued)
  • Method The behavior of a class, and all its
    instances, is described by a method.
  • Methods are like procedures
  • They execute step-by-step,
  • Can do branching and looping,
  • Take arguments,
  • Have local variables,
  • Return values (objects).

11
TERMS(Continued)
  • Methods are unlike procedures
  • they may only access data of the class for which
    they are defined, an instance's data can only be
    accessed through its class' method.
  • Note A class' methods completely encapsulate
    the data of objects of the class for which they
    are defined.

12
TERMS(Continued)
  • Message A request to a specific instance,
    called the receiver, to invoke a specific method.
    Along with the name of the method, (the
    selector) additional information (arguments,
    i.e., objects) can be passed as part of the
    message.

13
TERMS(Continued)
  • When the object receives the message, it invokes
    the method for the selector. This can
  • (1) change the object's instance variables,
  • (2) send another object back as a direct
    response to the message,
  • (3) do something in the real world of the
    computer, such as display information, print a
    message, or read a block of data from a file.
  • Much of the code within methods consists of
    passing messages to other objects.

14
TERMS(Continued)
  • Abstraction A problem solving tool that allows
    one to think of a problem at a higher level
    without worrying about the details.
  • Abstraction refers to organizing information
    based on three abstraction mechanisms
    classification, generalization, and aggregation.

15
ABSTRACTION MECHANISMS(Continued)
  • Classification forms new objects by suppressing
    the details of individual instances and
    emphasizing properties of the whole. New object
    types (classes) are formed by collecting
    instances.
  • Classification set theoretic operation
    'membership'
  • gt describes the 'instance-of'
    relationship

16
ABSTRACTION MECHANISMS(Continued)
  • EX Classification would allow one to collect
    the instances 'Jane, Bob, Sue' into a new
    higher-order type called 'secretary.'

17
ABSTRACTION MECHANISMS(Continued)
  • Generalization merges existing types to form new
    types. Individual differences between subtypes
    are ignored and common traits are emphasized.
  • Generalization set theoretic operation
    'union'
  • gt describes the 'is-a relationship

18
ABSTRACTION MECHANISMS(Continued)
  • EX Existing employee types 'secretary', and
    'teacher' can be generalized to form the new type
    'employee'.

19
ABSTRACTION MECHANISMS(Continued)
  • Generalization implies that every instance of the
    subtype is an instance of the type. Every
    instance of 'teacher' is also an instance of
    'employee'

20
ABSTRACTION MECHANISMS(Continued)
  • Aggregation forms an object as a relationship
    among other objects. It suppresses the details of
    the components and emphasizes the details of the
    relationship as a whole.
  • Aggregation set theoretic operation
    'cartesian product'
  • gt describes the 'is-part-of relationship

21
ABSTRACTION MECHANISMS(Continued)
  • EX Consider object types 'stove',
    'refrigerator', 'sink', 'cabinet'. A 'kitchen'
    object can be abstracted from the given objects.
    The individual objects (e.g., 'stove') are
    components of the aggregate ('kitchen').

22
ABSTRACTION MECHANISMS(Continued)
  • An instance of a component is said to be an
    attribute of an instance of the aggregate.

23
ABSTRACTION MECHANISMS(Continued)
  • Classification, generalization, and aggregation
    are the basic ways we have of structuring
    information. When they are repeatedly applied to
    objects, hierarchies of new objects are formed.

24
TERMS(Continued)
  • Information hiding as defined by Parnas Par72
    suggests decomposing systems into components that
    hide or encapsulate design decisions about
    abstractions.
  • Data abstraction refers to defining data types in
    terms of the operations that apply to objects of
    the type, with the constraint that the values of
    such objects can be modified and observed only by
    the use of the operations Oxf86.

25
TERMS(Continued)
  • Data abstraction is thinking in terms of what you
    can do to a collection of data independently of
    how you do it.
  • Related term
  • Abstract data type (ADT) is a collection of data
    structured in a particular fashion together with
    a set of operations that manipulate the data.

26
TERMS(Continued)
  • Inheritance The principle of receiving
    properties or characteristics from an ancestor
    and is used to define new data types as
    extensions or restrictions of existing types.
  • Polymorphism and dynamic binding Program
    entities should be permitted to refer to objects
    of more than one class, and operations should be
    permitted to have different realizations in
    different classes.

27
TERMS(Continued)
  • Polymorphism refers to the situation whereby a
    given program entity may refer at run-time to
    instances of different classes.
  • Dynamic binding refers to the situation whereby
    the run-time system will automatically select the
    version of an operation adapted to the
    corresponding instance.

28
TERMS(Continued)
  • Multiple and repeated inheritance It should be
    possible to declare a class as heir to more than
    one class, and more than once to the same class.
Write a Comment
User Comments (0)
About PowerShow.com