5
lêi nãi ®Çu
LËp tr×nh cÊu tróc lµ ph-¬ng ph¸p tæ chøc, ph©n chia ch-¬ng tr×nh thµnh c¸c hµm, thñ tôc, chóng ®-îc dïng
®Ó xö lý d÷ liÖu nh-ng l¹i t¸ch rêi c¸c cÊu tróc d÷ liÖu. Th«ng qua c¸c ng«n ng÷ Foxpro, Pascal, C ®a sè nh÷ng
ng-êi lµm Tin häc ®· kh¸ quen biÕt víi ph-¬ng ph¸p lËp tr×nh nµy.
LËp tr×nh h-íng ®èi t-îng dùa trªn viÖc tæ chøc ch-¬ng tr×nh thµnh c¸c líp. Kh¸c víi hµm vµ thñ tôc, líp lµ
mét ®¬n vÞ bao gåm c¶ d÷ liÖu vµ c¸c ph-¬ng thøc xö lý. V× vËy líp cã thÓ m« t¶ c¸c thùc thÓ mét c¸ch ch©n
thùc, ®Çy ®ñ c¶ phÇn d÷ liÖu vµ yªu cÇu qu¶n lý. T- t-ëng lËp tr×nh h-íng ®èi t-îng ®-îc ¸p dông cho hÇu hÕt
c¸c ng«n ng÷ míi ch¹y trªn m«i tr-êng Windows nh- Microsoft Access, Visual Basic, Visual C. V× vËy viÖc
nghiªn cøu ph-¬ng ph¸p lËp tr×nh míi nµy lµ rÊt cÇn thiÕt ®èi víi tÊt c¶ nh÷ng ng-êi quan t©m, yªu thÝch Tin
häc.
C ra ®êi n¨m 1973 víi môc ®Ých ban ®Çu lµ ®Ó viÕt hÖ ®iÒu hµnh Unix trªn m¸y tÝnh mini PDP. Sau ®ã C ®·
®-îc sö dông réng r·i trªn nhiÒu lo¹i m¸y tÝnh kh¸c nhau vµ ®· trë thµnh mét ng«n ng÷ lËp tr×nh cÊu tróc rÊt
®-îc -a chuéng.
§Ó ®-a C vµo thÕ giíi h-íng h-íng ®èi t-îng, n¨m 1980 nhµ khoa häc ng-êi Mü B. Stroustrup ®· cho ra ®êi
mét ng«n ng÷ C míi cã tªn ban ®Çu lµ “C cã líp”, sau ®ã ®Õn n¨m 1983 th× gäi lµ C++. Ng«n ng÷ C++ lµ mét
sù ph¸t triÓn m¹nh mÏ cña C. Trong C++ ch¼ng nh÷ng ®-a vµo tÊt c¶ c¸c kh¸i niÖm, c«ng cô cña lËp tr×nh h-íng
®èi t-îng mµ cßn ®-a vµo nhiÒu kh¶ n¨ng míi mÎ cho hµm. Nh- vËy C++ lµ mét ng«n ng÷ lai cho phÐp tæ chøc
ch-¬ng tr×nh theo c¸c líp vµ c¸c hµm. Cã thÓ nãi C++ ®· thóc ®Èy ng«n ng÷ C vèn ®· rÊt thuyÕt phôc ®i vµo thÕ
giíi lËp tr×nh h-íng ®èi t-îng vµ C++ ®· trë thµnh ng«n ng÷ h-íng ®èi t-îng næi bËt trong nh÷ng n¨m 90.
Cuèn s¸ch nµy sÏ tr×nh bÇy mét c¸ch hÖ thèng c¸c kh¸i niÖm cña lËp tr×nh h-íng ®èi t-îng ®-îc cµi ®Æt trong
C++ nh- líp, ®èi t-îng, sù thõa kÕ, tÝnh t-¬ng øng béi vµ c¸c kh¶ n¨ng míi trong x©y dùng, sö dông hµm nh-:
®èi tham chiÕu, ®èi mÆc ®Þnh, hµm trïng tªn, hµm to¸n tö. Cã mét sè vÊn ®Ò cßn Ýt ®-îc biÕt ®Õn nh- c¸ch x©y
dùng hµm víi sè ®èi bÊt ®Þnh trong C còng sÏ ®-îc giíi thiÖu. C¸c ch-¬ng tõ 1 ®Õn 10 víi c¸ch gi¶i thÝch tØ mØ
vµ víi gÇn 100 ch-¬ng tr×nh minh ho¹ sÏ cung cÊp cho b¹n ®äc c¸c kh¸i niÖm, ph-¬ng ph¸p vµ kinh nghiÖm lËp
tr×nh h-íng ®èi t-îng trªn C++. Môc lôc cuèi s¸ch sÏ hÖ thèng ng¾n gän ph-¬ng ph¸p ph©n tÝch, thiÕt kÕ vµ lËp
tr×nh h-íng ®èi t-îng trªn b×nh diÖn chung.
Cuèn s¸ch gåm 10 ch-¬ng vµ 6 phô lôc
Ch-¬ng 1 h-íng dÉn c¸ch lµm viÖc víi phÇn mÒm TC++ 3.0 ®Ó thö nghiÖm c¸c ch-¬ng tr×nh, tr×nh bÇy s¬
l-îc vÒ c¸c ph-¬ng ph¸p lËp tr×nh vµ giíi thiÖu mét sè më réng ®¬n gi¶n cña C++ .
Ch-¬ng 2 tr×nh bÇy c¸c kh¶ n¨ng míi trong viÖc x©y dùng vµ sö dông hµm trong C++ nh- biÕn tham chiÕu,
®èi cã kiÓu tham chiÕu, ®èi cã gi¸ trÞ mÆc ®Þnh, hµm trùc tuyÕn, hµm trïng tªn, hµm to¸n tö.
Ch-¬ng 3 nãi vÒ mét kh¸i niÖm trung t©m cña lËp tr×nh h-íng ®èi t-îng lµ líp gåm: §Þnh nghÜa líp, khai b¸o
c¸c biÕn, m¶ng ®èi t-îng (kiÓu líp), ph-¬ng thøc, dïng con trá this trong ph-¬ng thøc, ph¹m vi truy xuÊt cña
c¸c thµnh phÇn, c¸c ph-¬ng thøc to¸n tö.
Ch-¬ng 4 tr×nh bÇy c¸c vÊn ®Ò t¹o dùng, sao chÐp, huû bá c¸c ®èi t-îng vµ c¸c vÊn ®Ò kh¸c cã liªn quan nh-:
Hµm t¹o, hµm t¹o sao chÐp, hµm huû, to¸n tö g¸n, cÊp ph¸t bé nhí cho ®èi t-îng, hµm b¹n, líp b¹n.
Ch-¬ng 5 tr×nh bÇy mét kh¸i niÖm quan träng t¹o nªn kh¶ n¨ng m¹nh cña lËp tr×nh h-íng ®èi t-îng trong
viÖc ph¸t triÓn, më réng phÇn mÒm, ®ã lµ kh¶ n¨ng thõa kÕ cña c¸c líp.
Ch-¬ng 6 tr×nh bÇy mét kh¸i niÖm quan träng kh¸c cho phÐp xö lý c¸c vÊn ®Ò kh¸c nhau, c¸c thùc thÓ kh¸c
nhau, c¸c thuËt to¸n kh¸c nhau theo cïng mét l-îc ®å thèng nhÊt, ®ã lµ tÝnh t-¬ng øng béi vµ ph-¬ng thøc ¶o.
C¸c c«ng cô nµy cho phÐp dÔ dµng tæ chøc ch-¬ng tr×nh qu¶n lý nhiÒu d¹ng ®èi t-îng kh¸c nhau.
Ch-¬ng 7 nãi vÒ viÖc tæ chøc vµo - ra trong C++. C++ ®-a vµo mét kh¸i niÖm míi gäi lµ c¸c dßng tin
(Stream). C¸c thao t¸c vµo - ra sÏ thùc hiÖn trao ®æi d÷ liÖu gi÷a bé nhí víi dßng tin: Vµo lµ chuyÓn d÷ liÖu tõ
dßng nhËp vµo bé nhí, ra lµ chuyÓn d÷ liÖu tõ bé nhí lªn dßng xuÊt. §Ó nhËp xuÊt d÷ liÖu trªn mét thiÕt bÞ cô
thÓ nµo, ta chØ cÇn g¾n dßng nhËp xuÊt víi thiÕt bÞ ®ã. ViÖc tæ chøc vµo ra theo c¸ch nh- vËy lµ rÊt khoa häc vµ
tiÖn lîi v× nã cã tÝnh ®éc lËp thiÕt bÞ.
Ch-¬ng 8 tr×nh bÇy c¸c hµm ®å ho¹ sö dông trong C vµ C++. C¸c hµm nµy ®-îc sö dông r¶i r¸c trong toµn bé
cuèn s¸ch ®Ó x©y dùng c¸c ®èi t-îng ®å ho¹.
Ch-¬ng 9 tr×nh bÇy c¸c hµm truy xuÊt trùc tiÕp vµo bé nhí cña m¸y tÝnh, trong ®ã cã bé nhí mµn h×nh. C¸c
hµm nµy sÏ ®-îc sö dông trong ch-¬ng 10 ®Ó x©y dùng c¸c líp menu vµ cöa sæ .