Tải bản đầy đủ (.pdf) (41 trang)

Chương 4- Phương pháp hướng đối tượng doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (426.74 KB, 41 trang )

Chương 4
Chương

4
Ph há h ớ đối
Ph
ương p

p
h
ư

ng
đối

tượng trong công nghệ
phần mềm
UML/NN 1
Nội dung
 Phương pháp hướng đối tượng?
 Các khái niệm cơ bản
UML/NN 2
Tổng quát về hướng đối tượng
 Phương pháp lập trình hướng đối tượng giới thiệu một
quan điểmlậptrìnhkháchẳnsovớitrường phái cổ
quan

điểm

lập


trình

khác

hẳn

so

với

trường

phái

cổ

điển (có cấu trúc)
 Bắt đầu hình thành vào những năm cuối của thập niên
60 đế 1990 bắt đầ hổ biế tôhiệ hầ
60
,
đế
n
1990

bắt

đầ
u p
hổ


biế
n
t
ron
g
c
ô
n
g
n
ghiệ
p p
hầ
n
mềm

Ngôn ngữ hướng đốitượng
Ngôn

ngữ

hướng

đối

tượng
 Smalltalk, Eiffel
 Object Pascal, C+, Java, C#,…
Hình thành phương pháp phân tích/thiếtkế hướng đối


Hình

thành

phương

pháp

phân

tích/thiết

kế

hướng

đối

tượng
 Hi

n na
y
có m

t
q
ui trình
p

hát triển
p
hần mềm h
ợp

UML/NN 3
ệ y ộ qp p ợp
nhất UP dựa trên UML
Sự khác biệt
Account
ithd
amount
amount
message
StructuredStructured
aNo
balance
Account
w
ithd
raw
message
withdrawal
message
ER DFD with Data Store Structure Chart
hh
:
MyAccount
withdraw
(

X
)
MyAccount::
aNo= 101
Objects
OO approac
h
OO approac
h
:
MyAccount
()
balance=500
balance( )
withdraw( )
Objects
UML/NN 4
withdraw(

)

Đặc trưng cơ bản
 Tính đóng gói (encapsulation): che dấu mọi chi
tiếthiệnthựcbêntrongđốitượng
tiết

hiện

thực


bên

trong

đối

tượng
.
Æ Tính độc lập cao giữa các đối tượng (tính kết dính thấp)
 Tính
p
hân lo

i
(
classification
)
:
g
om nhóm các
p ạ ()
g
đối tượn
g
có cùn
g
cấu trúc và hành vi vào cùn
g

một lớp

Tí h ộ (ti)
1 đốitượ óthể


n
h

gộ
p
(
a
gg
re
g
a
ti
on
)
:
1

đối

tượ
n
g
c
ó

thể


chứa nhiều đối tượng khác tạo nên mối quan hệ
bao gộpmộtcáchđệ qui giữacácđốitượng
bao

gộp

một

cách

đệ

qui

giữa

các

đối

tượng
 Tính thừa kế (inheritance): phân biệt tổng quát
hóa và chuyên biệt hóa các đối tượng
UML/NN 5
Nguyên lý cơ bản
Obj t O i t ti
Obj
ec
t O

r
i
en
t
a
ti
on
t
ion
o
n
y
t
y
apsula
t
b
stracti
o
ierarch
y
o
dulari
t
Enc
A
b
H
M
o

UML/NN 6
Abstraction?
Salesperson
Not saying
Which
sales
p
erson
p
– just a
salesperson
in general!!!
Product
Customer
Product
MCli
UML/NN 7
M
anages
C
omp
l
ex
i
ty
Encapsulation?
 Che dấu việc thực thi
 Clients depend on interface
How does an object encapsulate?
I R ili

What does it encapsulate?
UML/NN 8
I
mproves
R
es
ili
ency
Modularity?
Order
Entry
Order Processing
System
Order
System
Fulfillment
Billing
UML/NN 9
Manages Complexity
Hierarchy?
Increasing
abstraction
Asset
abstraction
RealEstate
BankAccount
Security
Savings
Checking
Stock

Bond
Decreasin
g

Savings
Checking
Stock
Bond
Elements at the same level of the hierarchy
UML/NN 10
g
abstraction
Elements

at

the

same

level

of

the

hierarchy

should be at the same level of abstraction
Các khái niệm cơ bản

 Object
Cl

Cl
ass
 Attribute
 Operation
 Interface (Polymorphism)
 Component
 Package
 Subsystem
 Relationships
UML/NN 11
Object?
 Thực thể vật lý

T
hực thể khái niệm

T
h

c thể
p
hần mềm…
ự p
Chemical Process
Truck
Linked List
UML/NN 12

Object
 An object is a concept, abstraction, or thing
ith h b d i d i f
w
ith
s
h
arp
b
oun
d
ar
i
es an
d
mean
i
n
g

f
or an
application
 An ob
j
ect is somethin
g
that has:
 State
 Behavior

 Identit
y
y
UML/NN 13
Biểu diễn đối tượng
: Professor
a + b = 10
ProfessorClark
Class Name Only
Professor Clark
ProfessorClark :
Professor
Object Name Only
Class and Object Name
UML/NN 14
Class

and

Object

Name
Các khái niệm cơ bản
 Object
Cl

Cl
ass
 Attribute
 Operation

 Interface (Polymorphism)
 Component
 Package
 Subsystem
 Relationships (trình bày ở chương sau)
UML/NN 15
Class?
 A class is a description of a group of objects
ith ti ( tt ib t )
w
ith
common proper
ti
es
(
a
tt
r
ib
u
t
es
)
,
behavior (operations), relationships, and
ti
seman
ti
cs
 An object is an instance (thể hiện) of a class

 A class is an abstraction in that it:
 Nhấn mạnh đến nhữn
g
đặc tính chun
g
g g
 Bỏ qua những đặc tính riêng biệt
UML/NN 16
OO Principle: Abstraction
Lớp khóa học
Class
Course
Properties
Name
Behavior
Add a student
a + b = 10
Location
Days offered
Credit hours
Start time
Delete a student
Get course roster
Determine if it is full
Start

time
End time
UML/NN 17
Biểu diễn lớp

Professor
a + b = 10
Professor Clark
Professor
name
empID
Class Name
Attributes (ct)
empID
create( )
save( )
delete( )
Operations (hv)
UML/NN 18
delete(

)
change( )
Lớp các đối tượng
UML/NN 19
Class và Object
 Class là một định nghĩa cho một đối tượng
 Lớp xác định cấu trúc và hành vi của đối tượng thuộc lớp
 Một mẫu (template)
Obj t đ ợ hó l ithà h hữ lớ
Ob
j
ects
Class


Obj
ec
t
s
đ
u

c n

m
l

i

thà
n
h
n
hữ
n
g

lớ
p
j
Professor
Professor Smith Professor Mellon
UML/NN 20
Professor Jones
Các khái niệm cơ bản

 Object
Cl

Cl
ass
 Attribute
 Operation
 Interface (Polymorphism)
 Component
 Package
 Subsystem
 Relationships
UML/NN 21
Attribute?
Class
Object
:CourseOffering
b 101
Attribute
Attribute Value
num
b
er =
101
startTime = 900
endTime = 1100
CourseOffering
number
:CourseOffering
number

=
104
number
startTime
endTime
number

104
startTime = 1300
endTime = 1500
UML/NN 22
Các khái niệm cơ bản
 Object
Cl

Cl
ass
 Attribute
 Operation
 Interface (Polymorphism)
 Component
 Package
 Subsystem
 Relationships
UML/NN 23
Operation?
CourseOffering
addStudent
Class
addStudent


deleteStudent
getStartTime
getEndTime
Operation
UML/NN 24
Các khái niệm cơ bản
 Object
Cl

Cl
ass
 Attribute
 Operation
 Interface (Polymorphism)
 Component
 Package
 Subsystem
 Relationships
UML/NN 25

×