Title: OBJECT-ORIENTEDNESS
1OBJECT-ORIENTEDNESS
KCDCC
2WHAT IS OBJECT-ORIENTEDNESS?
KCDCC
3OBJECTS
KCDCC
4There are many THINGS in the World
From Sigfried S (1996). Understanding
Object-Oriented Software Engineering
5The World
Our Model
5/26
From Sigfried S (1996). Understanding
Object-Oriented Software Engineering
6OBJECTS (cont..)
KCDCC
7OBJECT PROPERTIES
KCDCC
8OBJECT PROPERTIES (cont.)
9CLASSES AND INSTANCES
10Similar THINGS can be GROUPED
10/26
From Sigfried S (1996). Understanding
Object-Oriented Software Engineering
11From Rumbaugh et al. (1991). Object-Oriented
Modeling and Design
12From Rumbaugh et al. (1991). Object-Oriented
Modeling and Design
13CLASS RELATIONSHIPS
14CLASSIFICATION
depends on purpose
KCDCC
15CLASSIFICATION (cont.)
15/26
KCDCC
16INHERITANCE
KCDCC
17From Rumbaugh et al. (1991). Object-Oriented
Modeling and Design
18MULTIPLE INHERITANCE
ato
ato
land vehicle
water vehicle
ato
ato
ato
ato
amphibious vehicle
car
boat
18/26
19GENERALIZATION / SPECIALIZATION
KCDCC
20AGGREGATION / DECOMPOSITION
20/26
21AGGREGATION / DECOMPOSITION addition of components
lamp
aco
ato
base
cover
switch
aco
aco
socket
ballast
starter
22AGGREGATION / DECOMPOSITION addition of
components (cont.)
lamp
aco
ato
base
cover
switch
isa
fluorescent lamp
isa
aco
L1
ballast
starter
isa
isa
aco
isa
isa
base1
cover1
switch1
ballast1
starter1
22/26
23O-O CONCEPTS
24O-O LANGUAGES
Smalltalk first popular OOL
C strongly typed - lots of
housekeeping Eiffel strongly typed -
garbage collection CLOS (Common Lisp
Object System) O-O extension of COMMON LISP
encapsulation not enforced Objective
C Java cleaned-up version of C - no
pointers distributed
25O-O DATABASES
25/26
26IMPACT OF 0-0 SYSTEMS ON MODELLING
26/26