際際滷

際際滷Share a Scribd company logo
TC  208 :: 01/12/2009                                                                  畛 1

         畛 thi L畉p tr狸nh h動畛ng 畛i t動畛ng (OOP)  CNPM K51
C但u 1: Tr狸nh by t動 t動畛ng nguy棚n l箪 坦ng g坦i trong OOP. Ph但n t鱈ch chi ti畉t nh畛ng l畛i
鱈ch m nguy棚n l箪 ny em l畉i.

C但u 2 : So s叩nh 2 kh叩i ni畛m l畛p tr畛u t動畛ng v giao di畛n. Ph但n t鱈ch i畛m m畉nh i畛m y畉u
khi s畛 d畛ng 2 k挑 thu畉t tr棚n.

C但u 3 : M担 t畉 ng畉n g畛n m畛i quan h畛 gi畛a 畛i t動畛ng v l畛p, gi畛a c叩c 畛i t動畛ng v畛i nhau.
Ch畛 r探 s畛 kh叩c bi畛t gi畛a 2 ng担n ng畛 Java & C++ trong vi畛c qu畉n l箪 畛i t動畛ng.

C但u 4 : H達y n棚u c叩c tr動畛ng h畛p l畉p tr狸nh t畉i 坦 hm thi畉t l畉p sao ch辿p (copy constructor
) t畛 畛ng 動畛c tri畛u g畛i. Ph但n t鱈ch v畉n 畛 r嘆 r畛 b畛 nh畛 c坦 th畛 x畉y ra khi l畉p tr狸nh cho hm
thi畉t l畉p sao ch辿p. Java c坦 v畉n 畛 ny kh担ng ? Gi畉i th鱈ch.

C但u 5 : Gi畉 s畛 ta c畉n vi畉t ch動董ng tr狸nh m担 ph畛ng ho畉t 畛ng c畛a c叩c con v畉t trong 1 ng担i
nh ( house ) bao g畛m : ng動畛i, nh畛n, c叩, m竪o. M畛t 畛ng v畉t (animal ) n坦i chung 動畛c
畉c tr動ng b畛i s畛 ch但n ( 0 -8 ), 畛u c坦 th畛 i (walk) (tr畛 c叩 ), n (eat ) v ch畉t ( die ).C叩c
con v畉t c滴ng l v畉t nu担i ( pet ) tr畛 ng動畛i v nh畛n. M畛i v畉t nu担i 畛u c坦 t棚n v c坦 th畛 ch董i
湛a (play) trong nh.

Ri棚ng ng動畛i c坦 kh畉 nng 畛c b叩o ( readpaper) v theo d探i 1 con v畉t b畉t k狸 ( watch ). Ch炭
箪 l trong 1 ng担i nh ta c坦 th畛 b畛 sung, lo畉i b畛 ( do r畛i i hay ch畉t ) c叩c nh但n v畉t n坦i tr棚n
nh動ng gi畛i h畉n s畛 ch但n l 120.

   a) Thi畉t k畉 bi畛u 畛 l畛p v gi畉i th鱈ch ng畉n g畛n : 畛i t動畛ng no ( thu畛c l畛p ) k畉t t畉p (
      quan h畛 has a ) c叩c 畛i t動畛ng kh叩c, l畛p no l l畛p k畉 th畛a ( quan h畛 is a ) c叩c l畛p
      kh叩c.
   b) H達y vi畉t m達 ci 畉t v畛i ng担n ng畛 t湛y ch畛n ( Java, C++ ) cho l畛p ( giao di畛n )
      House, Animal, Pet, Spider, Cat ( c叩c l畛p c嘆n l畉i nh動 達 動畛c ci 畉t ). T畉i
      ch動董ng tr狸nh ch鱈nh t畉o ra c叩c 畛i t動畛ng v k鱈ch ho畉t c叩c ph動董ng th畛c 畛 in ra :
      - T畛ng s畛 ch但n ang c坦 trong nh.
      - T畛ng s畛 v畉t nu担i ang ch董i, nh畛n ang i 

Ch炭 箪 : Vi畛c ci 畉t m畛i ph動董ng th畛c ( tr畛 c叩c ph動董ng th畛c get, set ) 董n gi畉n l th担ng
b叩o 畛i t動畛ng 坦 ang lm g狸. VD : ang n, ang i, kh担ng i nh動ng ang b董i, 畛c b叩o,
xem ..

More Related Content

OOP1_K51

  • 1. TC 208 :: 01/12/2009 畛 1 畛 thi L畉p tr狸nh h動畛ng 畛i t動畛ng (OOP) CNPM K51 C但u 1: Tr狸nh by t動 t動畛ng nguy棚n l箪 坦ng g坦i trong OOP. Ph但n t鱈ch chi ti畉t nh畛ng l畛i 鱈ch m nguy棚n l箪 ny em l畉i. C但u 2 : So s叩nh 2 kh叩i ni畛m l畛p tr畛u t動畛ng v giao di畛n. Ph但n t鱈ch i畛m m畉nh i畛m y畉u khi s畛 d畛ng 2 k挑 thu畉t tr棚n. C但u 3 : M担 t畉 ng畉n g畛n m畛i quan h畛 gi畛a 畛i t動畛ng v l畛p, gi畛a c叩c 畛i t動畛ng v畛i nhau. Ch畛 r探 s畛 kh叩c bi畛t gi畛a 2 ng担n ng畛 Java & C++ trong vi畛c qu畉n l箪 畛i t動畛ng. C但u 4 : H達y n棚u c叩c tr動畛ng h畛p l畉p tr狸nh t畉i 坦 hm thi畉t l畉p sao ch辿p (copy constructor ) t畛 畛ng 動畛c tri畛u g畛i. Ph但n t鱈ch v畉n 畛 r嘆 r畛 b畛 nh畛 c坦 th畛 x畉y ra khi l畉p tr狸nh cho hm thi畉t l畉p sao ch辿p. Java c坦 v畉n 畛 ny kh担ng ? Gi畉i th鱈ch. C但u 5 : Gi畉 s畛 ta c畉n vi畉t ch動董ng tr狸nh m担 ph畛ng ho畉t 畛ng c畛a c叩c con v畉t trong 1 ng担i nh ( house ) bao g畛m : ng動畛i, nh畛n, c叩, m竪o. M畛t 畛ng v畉t (animal ) n坦i chung 動畛c 畉c tr動ng b畛i s畛 ch但n ( 0 -8 ), 畛u c坦 th畛 i (walk) (tr畛 c叩 ), n (eat ) v ch畉t ( die ).C叩c con v畉t c滴ng l v畉t nu担i ( pet ) tr畛 ng動畛i v nh畛n. M畛i v畉t nu担i 畛u c坦 t棚n v c坦 th畛 ch董i 湛a (play) trong nh. Ri棚ng ng動畛i c坦 kh畉 nng 畛c b叩o ( readpaper) v theo d探i 1 con v畉t b畉t k狸 ( watch ). Ch炭 箪 l trong 1 ng担i nh ta c坦 th畛 b畛 sung, lo畉i b畛 ( do r畛i i hay ch畉t ) c叩c nh但n v畉t n坦i tr棚n nh動ng gi畛i h畉n s畛 ch但n l 120. a) Thi畉t k畉 bi畛u 畛 l畛p v gi畉i th鱈ch ng畉n g畛n : 畛i t動畛ng no ( thu畛c l畛p ) k畉t t畉p ( quan h畛 has a ) c叩c 畛i t動畛ng kh叩c, l畛p no l l畛p k畉 th畛a ( quan h畛 is a ) c叩c l畛p kh叩c. b) H達y vi畉t m達 ci 畉t v畛i ng担n ng畛 t湛y ch畛n ( Java, C++ ) cho l畛p ( giao di畛n ) House, Animal, Pet, Spider, Cat ( c叩c l畛p c嘆n l畉i nh動 達 動畛c ci 畉t ). T畉i ch動董ng tr狸nh ch鱈nh t畉o ra c叩c 畛i t動畛ng v k鱈ch ho畉t c叩c ph動董ng th畛c 畛 in ra : - T畛ng s畛 ch但n ang c坦 trong nh. - T畛ng s畛 v畉t nu担i ang ch董i, nh畛n ang i Ch炭 箪 : Vi畛c ci 畉t m畛i ph動董ng th畛c ( tr畛 c叩c ph動董ng th畛c get, set ) 董n gi畉n l th担ng b叩o 畛i t動畛ng 坦 ang lm g狸. VD : ang n, ang i, kh担ng i nh動ng ang b董i, 畛c b叩o, xem ..