Practical ObjectOriented Development with UML and Java - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Practical ObjectOriented Development with UML and Java

Description:

Generalization/Specialization without Polymorphism. Generalization/Specialization with Polymorphism. Relationships. Interface/Instance/Object ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 16
Provided by: comp46
Category:

less

Transcript and Presenter's Notes

Title: Practical ObjectOriented Development with UML and Java


1
Practical Object-Oriented Development with UML
and Java
  • Chapter 2The Object-Oriented Paradigm

2
13 Principles Of Object-Orientation
  • Encapsulation
  • Information Hiding
  • Message Passing
  • Late Binding
  • Delegation
  • Class/Instance/Object
  • Generalization/Specialization without Polymorphism
  • Generalization/Specialization with Polymorphism
  • Relationships
  • Interface/Instance/Object
  • Generalization/Specialization of Relationships
  • Reflection
  • Multi-threading

3
Principle 1
  • Encapsulation
  • The object contains both the data and the methods
    that will manipulate or change that data.

4
Principle 2
  • Information Hiding
  • The object that contains the attributes defines
    what services are available to the other objects.
    In fact, other objects have neither access nor
    knowledge of the data or how a service is provided

5
Principle 3.
  • Message Passing
  • An object may communication with another object
    only via a message passing mechanism.

6
Principle 4.
  • Late Binding
  • Support for the ability to determine the specific
    receiver and its corresponding method to be
    executed for a message at run time.

7
Principle 5.
  • Delegation
  • Work is passed, via message passing, from one
    object (client) to another object (server)
    because, from the clients perspective, the agent
    has the services that the client nedds. Work is
    continuously passed until it reaches the object
    that has both the data and the method to perform
    the work.

8
Principle 6.
  • Class/Instance/Object
  • All objects are instances of a class. Instances
    can be created or destroyed at run time.

9
Principle 7.
  • Generalization/Specialization without
    Polymorphism
  • Classes can be organized in a hierarchical
    inheritance structure representing a
    generalization/specialization relationship. In
    the structure, the the specialized class inherits
    the attributes, relationships, prototypes, and
    methods from the generalized class that is higher
    in the tree.

10
Principle 8.
  • Generalization/Specialization with Polymorphism
  • Classes can be organized by using a hierarchical
    inheritance structure. In the structure, the
    subclass inherits the attributes, relationships,
    prototypes, and methods from the superclass that
    is higher in the tree. However, a subclass my
    create its own method to replace a method of its
    superclasses in providing a service.

11
Principle 9.
  • Relationships
  • Collaborations between objects to provide a
    service to a client are captured by an
    association relationship, which is technically
    called a link.

12
Principle 10.
  • Interface/Instance/Object
  • All objects that implement an interface are also
    instances of that interface. However, instances
    of an interface cannot be created or destroyed as
    an interface instance. Each object must be
    created or destroyed as an instance of the class
    to which it belongs.

13
Principle 11.
  • Generalization/Specialization of Interfaces
  • Interfaces can be organized by using a
    hierarchical inheritance structure. In the
    structure, the specialized interface inherits the
    service protocol from the generalized interfaces
    that are higher in the tree.

14
Principle 12.
  • Reflection
  • Each object knows the detailed information about
    the classes and interfaces to which it is an
    instance. This means that an application can, at
    runtime, acquire detailed information about the
    object from the object itself.

15
Principle 13.
  • Multithreading
  • Each object can have concurrent execution paths.
    This means that an object can handle multiple
    events (or service requests) in a concurrent
    manner.
Write a Comment
User Comments (0)
About PowerShow.com