Date post: | 29-Dec-2015 |
Category: |
Documents |
Upload: | melanie-bryan |
View: | 219 times |
Download: | 2 times |
Introduction to Objects
Adapted from “TEN STEPS TO OBJECT-SPEAK”
a CPT Tech Talk by Joy Starks
September 17, 1999
OBJECTIVES
Discuss the history of Object Oriented Technology (OT)
Describe basic concepts of OT Define terms in Object Oriented Analysis
& Design (OAD) and Programming (OOP) Relate definitions to real-world examples Mention some benefits of OT Practice by Example
HISTORY OF OT
1969 Dr. Kristin Nygaard of Norway Model fjord and movement of ships
passing through it
HISTORY OF OT
The Problem structured programming separates data
from procedures The Solution
Object Oriented Programming model each component (data and
procedure) as a single unit model relationships between
components
OT BASIC CONCEPTS
Objects and Classes
Operations Requests Attributes
Inheritance Encapsulation Polymorphism
WHAT’S AN OBJECT?
Anything, real or abstract, about which we store data
Dr. Nygaard’s objects mathematical models of boats physical aspects of the fjord being analyzed
Other Examples an invoice, an organization, a screen with
which a user interacts, a drawing, an airplane, an order-filling process...
WHAT’S AN OPERATION?
An activity that reads or manipulates data of an object
Dr. Nygaard’s operations boats float, sink, move etc.
Other Examples calculating a total, checking a balance,
adding a new employee, changing an address, deleting a customer ...
HOW OBJECTS COMMUNICATE
An object is sent a message, which in turn causes an operation to be invoked
Sometimes the operation returns a response
WHAT’S AN ATTRIBUTE?
Characteristics that add detail to an object
Dr. Nygaard’s attributes color, weight, size, etc.
Other Examples someone’s name or address, an
employee’s title, a book’s author , a part number, a room’s dimensions
INHERITING ATTRIBUTES
Objects can be decomposed into other objects
Generalization hierarchy Supertype versus subtype An object inherits the attributes in
its parent class
SAMPLE GENERALIZATION HIERARCHY
SAM PLE PER SO N O BJEC T
1st Sem ester 2nd Semester
Freshm an Sophom ore
Student Em ployee
Person
WHAT ARE CLASSES?
An object type or object class is a category of an object that has similar characteristics and behavior
Example: employee or student A class acts as a template or
blueprint for object instances
OBJECT INSTANCES
An object instance is a specific example of an object type
Examples John P. Smith, Invoice #12356
And just to make it all really confusing, object instances are sometimes called objects!
ENCAPSULATION
The process of making implementation details of an object transparent to a user
Packaging data and operations together
Allows for information hiding The black box approach
POLY-WHAT? Polymorphism
the ability of two or objects to respond to the same message, each in its own way
an instruction is given using a generalized, rather than specific, detailed command
while specific actions would be different, results are the same
Example Animal: Speak Dogs bark; cats meow
SOME BENEFITS OF OBJECTS
Reusability classes can be reused or inherited
Stability over time, classes become more stable
Easier Design black box concept
Faster Design create applications from existing components
Practicing A mammal is an object Bear, buffalo, whale, and dolphin
are subtypes Yogi, Wilbur, and Smokey are
instances of the Bear subtype Eye color, ear size, and weight are
attributes
Your Turn
VCR A Sony VCR My VCR, Serial
#9234 Playback, record,
and audio dubbing the VCR contains
complex components that we assume work
Use the remote control
Match each VCR example on the left to the object-oriented term on the right.
object subtype messages object instance operations object encapsulation
Your Turn: Matching VCR IS an object A Sony VCR is an object subtype Serial #9234 of Sony VCR is an object instance Playback, record, and audio dubbing are
examples of VCR operations The concept that the VCR contains complex
components you assume work is encapsulation When you use a remote control, you are
sending requests to the VCR
Objects are Models A MODEL . . .
represents an aspect of reality helps us to understand reality assists us in inventing systems or
redesigning business areas should be simpler than reality
– for example, model cars are simpler thana real car
OBJECT STRUCTURE DIAGRAM
Large rectangle with two horizontal dividing lines
Top third object name
Middle third object attributes
Bottom thirdobject methods
SAMPLE OBJECT STRUCTURE DIAGRAM
TRAFFIC LIGHTTRAFFIC LIGHT
ColorColor
Turn RedTurn RedTurn YellowTurn YellowTurn GreenTurn Green
The operations are described in terms of whatthey do -- not how they do it.
YOU TRY ONE ... Draw an object structure diagram
for the VCR object
VCRVCR
ButtonsButtonsOn-screen MessagesOn-screen Messages
PlayPlayRewindRewindFast ForwardFast ForwardStopStopRecordRecord
Summary of Terminology
Objects, Classes, Operations, Attributes
Inheritance, Encapsulation, Polymorphism
Generalization Hierarchies Object Structure Diagrams Event Diagrams