Chapter 2: Introduction to Object Orientation Object-Oriented Systems Analysis and

advertisement
Chapter 2:
Introduction to Object
Orientation
Object-Oriented Systems Analysis and
Design
Joey F. George, Dinesh Batra,
Joseph S. Valacich, Jeffrey A. Hoffer
© Prentice Hall, 2007
2-1
Chapter Objectives

After studying this chapter you should be
able to:
– Define an object.
– Understand the terms class, attribute, and
operations.
– Explain generalization, polymorphism, and
inheritance.
– Define association.
– Describe modeling and the Unified Modeling
Language.
Chapter 2
© Prentice Hall, 2007
2-2
Unified Modeling Language
(UML)

A standard notation for representing objectoriented systems

Boxes represent classes, components, packages,
objects
– Containing attributes and operations
– Provide interfaces to external entities

Lines represent generalization and other
relationships
Chapter 2
© Prentice Hall, 2007
2-3
Sample
UML
Diagram
Chapter 2
© Prentice Hall, 2007
2-4
What Is an Object?

An entity that encapsulates data and
behavior

- Objects are categorized into classes

- Each individual object is an instance of a
 class
Chapter 2
© Prentice Hall, 2007
2-5
What Is Encapsulation?

The characteristic of object-orientation in
which data and behavior are bundled into a
class and hidden from the outside world

Access to the data and behavior is provided
and controlled through an object’s interface
Chapter 2
© Prentice Hall, 2007
2-6
What Is a Class?
• A category of objects that share the same
attributes, operations, relationships, and
semantics
• All objects are instances of classes
Chapter 2
© Prentice Hall, 2007
2-7
Name
Attributes
Operations
Chapter 2
© Prentice Hall, 2007
2-8
What Is an Attribute?
• Attribute- a named property of a class that
describes a range of values that instances of
the attribute might hold
• Attributes are the way classes encapsulate
data
Chapter 2
© Prentice Hall, 2007
2-9
Minus sign
indicates
these are
private
(hidden)
Attributes are properties containing values
Chapter 2
© Prentice Hall, 2007
2-10
What Is an Operation?

A behavior of an object

Implemented in classes are methods

Methods are identified and invoked by their
signatures, including name, parameters, and
return type
Chapter 2
© Prentice Hall, 2007
2-11
Signature has
name, parameters,
return type
Method
implements
the behavior
Chapter 2
© Prentice Hall, 2007
2-12
Plus sign
indicates
these are
public
(accessible)
Chapter 2
© Prentice Hall, 2007
2-13
What Is Generalization?

A relationship between a more general (or
parent) class and a more specific (or child)
class

The more specific class has additional
attributes and operations
Chapter 2
© Prentice Hall, 2007
2-14
What Is Inheritance?

The mechanism by which the more specific
class in a generalization relationship
includes the attributes and operations of the
more general class
Chapter 2
© Prentice Hall, 2007
2-15
Generalization
represented by
arrows from
subclass to
superclass
Subclasses
inherit all
attributes and
operations of
superclasses
Chapter 2
© Prentice Hall, 2007
2-16
What Is Polymorphism?

The ability for different classes of objects to
respond to identical messages in different
ways

Polymorphism = “having many forms”

Different behaviors for the same message
Chapter 2
© Prentice Hall, 2007
2-17
Here, each
type of
vehicle has
its own
version of
calcPrice()
Chapter 2
© Prentice Hall, 2007
2-18
What Is a Component?
A
replaceable part of a system
providing a clearly defined function
through a set of interfaces
 Group
of classes working together
toward a common end; a subsystem
Chapter 2
© Prentice Hall, 2007
2-19
What Is an Interface?

The mechanism by which users of a
component invoke its behaviors and
manipulate its properties

The interface is implemented by method
signatures
Chapter 2
© Prentice Hall, 2007
2-20
Interfaces are
represented
as small
rectangles
Chapter 2
© Prentice Hall, 2007
2-21
What Is a Package?
A
logical grouping of related analysis
or design elements
 Group
of classes sharing similar
characteristics or purposes
Chapter 2
© Prentice Hall, 2007
2-22
Package is to
component as
folder is to file
Chapter 2
© Prentice Hall, 2007
2-23
What Is an Association?

A relationship or link between instances of (or
objects) of classes

Three types:
– Simple associations: no ownership
– Aggregations: part-whole relationships where the part
can exist independently of the whole
– Compositions: part-whole relationships where the part
and the whole are fully dependent on each other
Chapter 2
© Prentice Hall, 2007
2-24
This is a binary association, showing roles and multiplicities
roles
multiplicities
Chapter 2
© Prentice Hall, 2007
2-25
Systems Modeling
Systems modeling – creating an abstraction of a
system
 Abstraction – focusing on the relevant aspects and
ignoring other details
 UML is a modeling approach, involving these
diagrams:

– Use-case, sequence, communication, class, object,
activity, state, composite structure, package,
component, deployment
Chapter 2
© Prentice Hall, 2007
2-26
UML Diagrams
– Use-case diagram – shows use cases, actors, and
–
–
–
–
–
relationships describing user interactions with system
Sequence diagram – shows interactions of objects via
message-passing in time-ordered manner
Communication diagram – similar to sequence diagram,
but without the time-ordering
Class diagram – shows set of classes and relationships
(generalizations and associations)
Object diagram – shows specific instances of a class
diagram
Activity diagram – shows flow of activities, or wokflow
of objects
Chapter 2
© Prentice Hall, 2007
2-27
UML Diagrams (cont.)
– State diagram – shows transitioning of an object from
–
–
–
–
state to state in response to events
Composite structure diagram – shows how a component
whole is made up of its parts
Package diagram – shows logical grouping of analysis
or design elements
Component diagram – shows software components or
modules and their relationships
Deployment diagram – shows configuration of runtime
processing nodes and their components
Chapter 2
© Prentice Hall, 2007
2-28
Download