15. 2.2 畛i t動畛ng (Object)
L kh叩i ni畛m tr畛u t動畛ng ph畉n 叩nh c叩c th畛c
th畛 trong th畉 gi畛i th畛c
C坦 th畛 l m畛t th畛c th畛 v畉t l箪
C坦 th畛 l m畛t kh叩i ni畛m tr畛u t動畛ng
動畛c 畛nh ngh挑a l s畛 th畛 hi畛n c畛a m畛t
l畛p
Ch鱈nh l c叩c th畛c th畛 trong h畛 th畛ng
h動畛ng 畛i t動畛ng
M畛t 畛i t動畛ng l s畛 坦ng g坦i 2 thnh ph畉n:
Tr畉ng th叩i (state) hay d畛 li畛u
C叩c 畛ng x畛 (behavior) hay hnh vi, thao t叩c
Object Oriented Programing Information Systems Department 15
16. 2.3 Thu畛c t鱈nh & ph動董ng th畛c
Thu畛c t鱈nh bao g畛m:
H畉ng, bi畉n
Tham s畛 n畛i t畉i
Thu畛c t鱈nh 動畛c x叩c 畛nh ki畛u, g畛m:
Ki畛u c畛 i畛n
Ki畛u do ng動畛i d湛ng 畛nh ngh挑a
Ph動董ng th畛c l:
C叩c hm n畛i t畉i c畛a 畛i t動畛ng
C坦 ki畛u tr畉 v畛
T棚n g畛i kh叩c: hm thnh vi棚n
Object Oriented Programing Information Systems Department 16
17. 2.4 L畛p (Class) & L畛p con (SubClass)
L畛p: l t畉p h畛p c叩c 畛i t動畛ng c坦 c湛ng
thu畛c t鱈nh v hnh vi
L b畉n thi畉t k畉 ho畉c b畉n m畉u m担 t畉 m畛t
c畉u tr炭c d畛 li畛u g畛m:
C叩c thnh ph畉n d畛 li畛u
C叩c ph動董ng th畛c
L畛p 動畛c s畛 d畛ng nh動 ki畛u d畛 li畛u ng動畛i
d湛ng 畛nh ngh挑a
L畛p con:
L l畛p th担ng th動畛ng
C坦 th棚m t鱈nh ch畉t k畉 th畛a 畉c t鱈nh c畛a l畛p kh叩c
Object Oriented Programing Information Systems Department 17
18. 2.5 L畛p tr畛u t動畛ng
L l畛p m n坦 kh担ng th畛 tr畛 thnh m畛t l畛p
th畛c t畉 no
動畛c thi畉t k畉 nh畉m t畉o ra l畛p c坦 畉c t鱈nh
t畛ng qu叩t
B畉n th但n n坦 ch動a c坦 箪 ngh挑a n棚n ch動a th畛
vi畉t m達 cho 畛i t動畛ng
V鱈 d畛:
L畛p h狸nh ph畉ng
L畛p 畛ng v畉t
Object Oriented Programing Information Systems Department 18
19. 2.6 Truy畛n th担ng i畛p
Th担ng i畛p:
L ph動董ng ti畛n 畛 畛i t動畛ng ny chuy畛n y棚u c畉u t畛i 畛i
t動畛ng kh叩c.
M畛t th担ng i畛p bao g畛m:
Handle c畛a 畛i t動畛ng 鱈ch (畛i t動畛ng ch畛)
T棚n ph動董ng th畛c c畉n th畛c hi畛n
C叩c th担ng tin c畉n thi畉t kh叩c (tham s畛)
H畛 th畛ng y棚u c畉u 畛i t動畛ng th畛c hi畛n ph動董ng
th畛c nh動 sau:
G畛i th担ng b叩o v tham s畛 cho 畛i t動畛ng
Ki畛m tra t鱈nh h畛p l畛 c畛a th担ng b叩o
G畛i th畛c hi畛n hm t動董ng 畛ng ph動董ng th畛c
Object Oriented Programing Information Systems Department 19
20. 2.7 S畛 tr畛u t動畛ng ho叩
Kh叩i ni畛m:
L kh畉 nng b畛 qua hay kh担ng 畛 箪 t畛i c叩c
thnh ph畉n kh担ng quan tr畛ng.
C叩c lo畉i tr畛u t動畛ng ho叩:
Tr畛u t動畛ng ho叩 d畛 li畛u: kh担ng quan t但m c叩c chi
ti畉t kh担ng quan tr畛ng b棚n trong
Tr畛u t動畛ng ho叩 ch畛c nng: kh担ng quan t但m lm
th畉 no 畛 th畛c hi畛n c担ng vi畛c
T坦m l畉i:
Ch畛 quan t但m t畛i 畉c i畛m quan tr畛ng
B畛 qua c叩c chi ti畉t kh担ng li棚n quan
Object Oriented Programing Information Systems Department 20
21. 2.8 S畛 坦ng g坦i
Kh叩i ni畛m:
L c董 ch畉 rng bu畛c d畛 li畛u v c叩c thao t叩c tr棚n
d畛 li畛u thnh th畛 th畛ng nh畉t.
坦ng g坦i g畛m:
Bao g坦i: ng動畛i d湛ng giao ti畉p v畛i h畛 th畛ng qua
giao di畛n
Che d畉u: ngn ch畉n c叩c thao t叩c kh担ng 動畛c
ph辿p t畛 b棚n ngoi
働u i畛m:
Qu畉n l箪 s畛 thay 畛i
B畉o v畛 d畛 li畛u
Object Oriented Programing Information Systems Department 21
22. 2.9 S畛 k畉 th畛a
Kh叩i ni畛m:
Kh畉 nng cho ph辿p x但y d畛ng l畛p m畛i 動畛c th畛a
h動畛ng c叩c thu畛c t鱈nh c畛a l畛p 達 c坦
畉c i畛m:
L畛p nh畉n 動畛c c坦 th畛 b畛 sung c叩c thnh ph畉n
Ho畉c 畛nh ngh挑a l c叩c thu畛c t鱈nh c畛a l畛p cha
C叩c lo畉i k畉 th畛a:
董n k畉 th畛a
a k畉 th畛a
Object Oriented Programing Information Systems Department 22
23. 2.10 S畛 a h狸nh
Kh叩i ni畛m:
Kh畉 nng 動a m畛t ph動董ng th畛c c坦 c湛ng t棚n
trong c叩c l畛p con
Th畛c hi畛n b畛i:
畛nh ngh挑a l畉i
N畉p ch畛ng
C董 ch畉 d畛a tr棚n s畛 k畉t g叩n:
K畉t g叩n s畛m
K畉t g叩n mu畛n
Object Oriented Programing Information Systems Department 23