25
Introduction to Objects Adapted from “TEN STEPS TO OBJECT- SPEAK” a CPT Tech Talk by Joy Starks September 17, 1999

Introduction to Objects Adapted from “TEN STEPS TO OBJECT-SPEAK” a CPT Tech Talk by Joy Starks September 17, 1999

Embed Size (px)

Citation preview

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

The End