Lý thuyết hệ điều hành - Chapter 1
lượt xem 4
download
Các khái niệm cơ sở của lập trình hướng đối tượng Ch-ơng 1 trình bày những vấn đề sau: Thảo luận về cách tiếp cận h-ớng đối t-ợng, những nh-ợc điểm của lập trình truyền thống và các đặc điểm của lập trình h-ớng đối t-ợng. Các khái niệm cơ sở của ph-ơng pháp h-ớng đối t-ợng: • Đối t-ợng • Lớp • Trừu t-ợng hóa dữ liệu và bao gói thông tin • Kế thừa • T-ơng ứng bội • Liên kết động • Truyền thông báo Các b-ớc cần thiết để thiết kế ch-ơng trình theo h-ớng đối...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lý thuyết hệ điều hành - Chapter 1
- CH−¬NG 1 C¸C KH¸I NIÖM C¬ Së cña LËP TR×NH H−íNG §èI T−îNG Ch−¬ng 1 tr×nh bµy nh÷ng vÊn ®Ò sau: Th¶o luËn vÒ c¸ch tiÕp cËn h−íng ®èi t−îng, nh÷ng nh−îc ®iÓm cña lËp tr×nh truyÒn thèng vµ c¸c ®Æc ®iÓm cña lËp tr×nh h−íng ®èi t−îng. C¸c kh¸i niÖm c¬ së cña ph−¬ng ph¸p h−íng ®èi t−îng: • §èi t−îng • Líp • Trõu t−îng hãa d÷ liÖu vµ bao gãi th«ng tin • KÕ thõa • T−¬ng øng béi • Liªn kÕt ®éng • TruyÒn th«ng b¸o C¸c b−íc cÇn thiÕt ®Ó thiÕt kÕ ch−¬ng tr×nh theo h−íng ®èi t−îng C¸c −u ®iÓm cña lËp tr×nh h−íng ®èi t−îng C¸c ng«n ng÷ h−íng ®èi t−îng Mét sè øng dông cña lËp tr×nh h−íng ®èi t−îng 1.1. Giíi thiÖu 1.1.1. TiÕp cËn h−íng ®èi t−îng Trong thÕ giíi thùc, chung quanh chóng ta lμ nh÷ng ®èi t−îng, ®ã lμ c¸c thùc thÓ cã mèi quan hÖ víi nhau. VÝ dô c¸c phßng trong mét c«ng ty kinh doanh ®−îc xem nh− nh÷ng ®èi t−îng. C¸c phßng ë ®©y cã thÓ lμ: phßng qu¶n lý, phßng b¸n hμng, phßng kÕ to¸n, phßng tiÕp thÞ,... Mçi phßng ngoμi nh÷ng c¸n bé ®¶m nhiÖm nh÷ng c«ng viÖc cô thÓ, cßn cã nh÷ng d÷ liÖu riªng nh− th«ng tin vÒ nh©n viªn, doanh sè b¸n hμng, hoÆc c¸c d÷ liÖu kh¸c cã liªn quan ®Õn bé phËn ®ã. ViÖc ph©n chia c¸c phßng chøc n¨ng trong c«ng ty sÏ t¹o ®iÒu kiÖn dÔ dμng cho viÖc qu¶n lý c¸c ho¹t ®éng. Mçi nh©n viªn trong phßng sÏ ®iÒu khiÓn vμ xö lý d÷ liÖu cña phßng ®ã. VÝ dô phßng kÕ to¸n phô tr¸ch vÒ l−¬ng bæng nh©n viªn trong c«ng ty. NÕu b¹n ®ang ë bé phËn tiÕp thÞ vμ cÇn t×m th«ng tin chi tiÕt vÒ l−¬ng cña ®¬n vÞ m×nh th× sÏ gëi yªu cÇu vÒ phßng kÕ to¸n. Víi c¸ch lμm nμy b¹n ®−îc ®¶m b¶o lμ chØ cã nh©n viªn cña bé phËn kÕ to¸n ®−îc quyÒn truy cËp Lập trình HĐT 1 http://www.ebook.edu.vn
- d÷ liÖu vμ cung cÊp th«ng tin cho b¹n. §iÒu nμy còng cho thÊy r»ng, kh«ng cã ng−êi nμo thuéc bé phËn kh¸c cã thÓ truy cËp vμ thay ®æi d÷ liÖu cña bé phËn kÕ to¸n. Kh¸i niÖm nh− thÕ vÒ ®èi t−îng hÇu nh− cã thÓ ®−îc më réng ®èi víi mäi lÜnh vùc trong ®êi sèng x· héi vμ h¬n n÷a - ®èi víi viÖc tæ chøc ch−¬ng tr×nh. Mäi øng dông cã thÓ ®−îc ®Þnh nghÜa nh− mét tËp c¸c thùc thÓ - hoÆc c¸c ®èi t−îng, sao cho qu¸ tr×nh t¸i t¹o nh÷ng suy nghÜa cña chóng ta lμ gÇn s¸t nhÊt vÒ thÕ giíi thùc. Trong phÇn tiÕp theo chóng ta sÏ xem xÐt ph−¬ng ph¸p lËp tr×nh truyÒn thèng ®Ó tõ ®ã thÊy r»ng v× sao chóng ta cÇn chuyÓn sang ph−¬ng ph¸p lËp tr×nh h−íng ®èi t−îng. 1.1.2. Nh÷ng nh−îc ®iÓm cña lËp tr×nh h−íng thñ tôc C¸ch tiÕp cËn lËp tr×nh truyÒn thèng lμ lËp tr×nh h−íng thñ tôc (LTHTT). Theo c¸ch tiÕp cËn nμy th× mét hÖ thèng phÇn mÒm ®−îc xem nh− lμ d·y c¸c c«ng viÖc cÇn thùc hiÖn nh− ®äc d÷ liÖu, tÝnh to¸n, xö lý, lËp b¸o c¸o vμ in Ên kÕt qu¶ v.v... Mçi c«ng viÖc ®ã sÏ ®−îc thùc hiÖn bëi mét sè hμm nhÊt ®Þnh. Nh− vËy träng t©m cña c¸ch tiÕp cËn nμy lμ c¸c hμm chøc n¨ng. LTHTT sö dông kü thuËt ph©n r· hμm chøc n¨ng theo c¸ch tiÕp cËn trªn xuèng (top-down) ®Ó t¹o ra cÊu tróc ph©n cÊp. C¸c ng«n ng÷ lËp tr×nh bËc cao nh− COBOL, FORTRAN, PASCAL, C, v.v..., lμ nh÷ng ng«n ng÷ lËp tr×nh h−íng thñ tôc. Nh÷ng nh−îc ®iÓm chÝnh cña LTHTT lμ: Ch−¬ng tr×nh khã kiÓm so¸t vμ khã kh¨n trong viÖc bæ sung, n©ng cÊp ch−¬ng tr×nh. Ch−¬ng tr×nh ®−îc x©y dùng theo c¸ch TCHTT thùc chÊt lμ danh s¸ch c¸c c©u lÖnh mμ theo ®ã m¸y tÝnh cÇn thùc hiÖn. Danh s¸ch c¸c lÖnh ®ã ®−îc tæ chøc thμnh tõng nhãm theo ®¬n vÞ cÊu tróc cña ng«n ng÷ lËp tr×nh vμ ®−îc gäi lμ hμm/thñ tôc. Trong ch−¬ng tr×nh cã nhiÒu hμm/thñ tôc, th−êng th× cã nhiÒu thμnh phÇn d÷ liÖu quan träng sÏ ®−îc khai b¸o tæng thÓ (global) ®Ó c¸c hμm/thñ tôc cã thÓ truy nhËp, ®äc vμ lμm thay ®æi gi¸ trÞ cña biÕn tæng thÓ. §iÒu nμy sÏ lμm cho ch−¬ng tr×nh rÊt khã kiÓm so¸t, nhÊt lμ ®èi víi c¸c ch−¬ng tr×nh lín, phøc t¹p th× vÊn ®Ò cμng trë nªn khã kh¨n h¬n. Khi ta muèn thay ®æi, bæ sung cÊu tróc d÷ liÖu dïng chung cho mét sè hμm/thñ tôc th× ph¶i thay ®æi hÇu nh− tÊt c¶ c¸c hμm/thñ tôc liªn quan ®Õn d÷ liÖu ®ã. M« h×nh ®−îc x©y dùng theo c¸ch tiÕp cËn h−íng thñ tôc kh«ng m« t¶ ®−îc ®Çy ®ñ, trung thùc hÖ thèng trong thùc tÕ. Ph−¬ng ph¸p TCHTT ®Æt träng t©m vμo hμm lμ h−íng tíi ho¹t ®éng sÏ kh«ng thùc sù t−¬ng øng víi c¸c thùc thÓ trong hÖ thèng cña thÕ giíi thùc. Lập trình HĐT 2 http://www.ebook.edu.vn
- 1.1.3. LËp tr×nh h−íng ®èi t−îng LËp tr×nh h−íng ®èi t−îng (Object Oriented Programming - LTH§T) lμ ph−¬ng ph¸p lËp tr×nh lÊy ®èi t−îng lμm nÒn t¶ng ®Ó x©y dùng thuËt gi¶i, x©y dùng ch−¬ng tr×nh. §èi t−îng ®−îc x©y dùng trªn c¬ së g¾n cÊu tróc d÷ liÖu víi c¸c ph−¬ng thøc (c¸c hμm/thñ tôc) sÏ thÓ hiÖn ®−îc ®óng c¸ch mμ chóng ta suy nghÜ, bao qu¸t vÒ thÕ giíi thùc. LTH§T cho phÐp ta kÕt hîp nh÷ng tri thøc bao qu¸t vÒ c¸c qu¸ tr×nh víi nh÷ng kh¸i niÖm trõu t−îng ®−îc sö dông trong m¸y tÝnh. §iÓm c¨n b¶n cña ph−¬ng ph¸p LTH§T lμ thiÕt kÕ ch−¬ng tr×nh xoay quanh d÷ liÖu cña hÖ thèng. NghÜa lμ c¸c thao t¸c xö lý cña hÖ thèng ®−îc g¾n liÒn víi d÷ liÖu vμ nh− vËy khi cã sù thay ®æi cña cÊu tróc d÷ liÖu th× chØ ¶nh h−ëng ®Õn mét sè Ýt c¸c ph−¬ng thøc xö lý liªn quan. LTH§T kh«ng cho phÐp d÷ liÖu chuyÓn ®éng tù do trong hÖ thèng. D÷ liÖu ®−îc g¾n chÆt víi tõng ph−¬ng thøc thμnh c¸c vïng riªng mμ c¸c ph−¬ng thøc ®ã t¸c ®éng lªn vμ nã ®−îc b¶o vÖ ®Ó cÊm viÖc truy nhËp tïy tiÖn tõ bªn ngoμi. LTH§T cho phÐp ph©n tÝch bμi to¸n thμnh tËp c¸c thùc thÓ ®−îc gäi lμ c¸c ®èi t−îng vμ sau ®ã x©y dùng c¸c d÷ liÖu cïng víi c¸c ph−¬ng thøc xung quanh c¸c ®èi t−îng ®ã. Tãm l¹i LTH§T cã nh÷ng ®Æc tÝnh chñ yÕu nh− sau: 1. TËp trung vμo d÷ liÖu thay cho c¸c ph−¬ng thøc. 2. Ch−¬ng tr×nh ®−îc chia thμnh c¸c líp ®èi t−îng. 3. C¸c cÊu tróc d÷ liÖu ®−îc thiÕt kÕ sao cho ®Æc t¶ ®−îc c¸c ®èi t−îng. 4. C¸c ph−¬ng thøc x¸c ®Þnh trªn c¸c vïng d÷ liÖu cña ®èi t−îng ®−îc g¾n víi nhau trªn cÊu tróc d÷ liÖu ®ã. 5. D÷ liÖu ®−îc bao bäc, che dÊu vμ kh«ng cho phÐp c¸c thμnh phÇn bªn ngoμi truy nhËp tù do. 6. C¸c ®èi t−îng trao ®æi víi nhau th«ng qua c¸c ph−¬ng thøc. 7. D÷ liÖu vμ c¸c ph−¬ng thøc míi cã thÓ dÔ dμng bæ sung vμo ®èi t−îng nμo ®ã khi cÇn thiÕt. 8. Ch−¬ng tr×nh ®−îc thiÕt kÕ theo c¸ch tiÕp cËn bottom-up (d−íi -lªn). 1.2. C¸c kh¸i niÖm c¬ b¶n cña lËp tr×nh h−íng ®èi t−îng Nh÷ng kh¸i niÖm c¬ b¶n trong LTH§T bao gåm: §èi t−îng; Líp; Trõu t−îng hãa d÷ liÖu, bao gãi th«ng tin; KÕ thõa; T−¬ng øng béi; Liªn kÕt ®éng; TruyÒn th«ng b¸o. Lập trình HĐT 3 http://www.ebook.edu.vn
- 1.2.1. §èi t−îng Trong thÕ giíi thùc, kh¸i niÖm ®èi t−îng ®−îc hiÓu nh− lμ mét thùc thÓ, nã cã thÓ lμ ng−êi, vËt hoÆc mét b¶ng d÷ liÖu cÇn xö lý trong ch−¬ng tr×nh,... Trong LTH§T th× ®èi t−îng lμ biÕn thÓ hiÖn cña líp. 1.2.2. Líp Líp lμ mét kh¸i niÖm míi trong LTH§T so víi kü thuËt LTHTT. Nã lμ mét b¶n mÉu m« t¶ c¸c th«ng tin cÊu tróc d÷ liÖu vμ c¸c thao t¸c hîp lÖ cña c¸c phÇn tö d÷ liÖu. Khi mét phÇn tö d÷ liÖu ®−îc khai b¸o lμ phÇn tö cña mét líp th× nã ®−îc gäi lμ ®èi t−îng. C¸c hμm ®−îc ®Þnh nghÜa hîp lÖ trong mét líp ®−îc gäi lμ c¸c ph−¬ng thøc (method) vμ chóng lμ c¸c hμm duy nhÊt cã thÓ xö lý d÷ liÖu cña c¸c ®èi t−îng cña líp ®ã. Mçi ®èi t−îng cã riªng cho m×nh mét b¶n sao c¸c phÇn tö d÷ liÖu cña líp. Mçi líp bao gåm: danh s¸ch c¸c thuéc tÝnh (attribute) vμ danh s¸ch c¸c ph−¬ng thøc ®Ó xö lý c¸c thuéc tÝnh ®ã. C«ng thøc ph¶n ¸nh b¶n chÊt cña kü thuËt LTH§T lμ: §èi t−îng = D÷ liÖu + Ph−¬ng thøc Ch¼ng h¹n, chóng ta xÐt líp HINH_CN bao gåm c¸c thuéc tÝnh: (x1,y1) to¹ ®é gãc trªn bªn tr¸i, d,r lμ chiÒu dμi vμ chiÒu réng cña HCN. C¸c ph−¬ng thøc nhËp sè liÖu cho HCN, hμm tÝnh diÖn tÝch, chu vi vμ hμm hiÓn thÞ. Líp HINH_CN cã thÓ ®−îc m« t¶ nh− sau: HINH_CN Thuéc tÝnh : x1,y1 d,r Ph−¬ng thøc : NhËp_sl DiÖn tÝch Chu vi HiÓn thÞ H×nh 2.2 M« t¶ líp HINH_CN Lập trình HĐT 4 http://www.ebook.edu.vn
- Chó ý: Trong LTH§T th× líp lμ kh¸i niÖm tÜnh, cã thÓ nhËn biÕt ngay tõ v¨n b¶n ch−¬ng tr×nh, ng−îc l¹i ®èi t−îng lμ kh¸i niÖm ®éng, nã ®−îc x¸c ®Þnh trong bé nhí cña m¸y tÝnh, n¬i ®èi t−îng chiÕm mét vïng bé nhí lóc thùc hiÖn ch−¬ng tr×nh. §èi t−îng ®−îc t¹o ra ®Ó xö lý th«ng tin, thùc hiÖn nhiÖm vô ®−îc thiÕt kÕ, sau ®ã bÞ hñy bá khi ®èi t−îng ®ã hÕt vai trß. 1.2.3. Trõu t−îng hãa d÷ liÖu vµ bao gãi th«ng tin Trõu t−îng hãa lμ c¸ch biÓu diÔn nh÷ng ®Æc tÝnh chÝnh vμ bá qua nh÷ng chi tiÕt vôn vÆt hoÆc nh÷ng gi¶i thÝch. Khi x©y dùng c¸c líp, ta ph¶i sö dông kh¸i niÖm trõu t−îng hãa. VÝ dô ta cã thÓ ®Þnh nghÜa mét líp ®Ó m« t¶ c¸c ®èi t−îng trong kh«ng gian h×nh häc bao gåm c¸c thuéc tÝnh trõu t−îng nh− lμ kÝch th−íc, h×nh d¸ng, mμu s¾c vμ c¸c ph−¬ng thøc x¸c ®Þnh trªn c¸c thuéc tÝnh nμy. ViÖc ®ãng gãi d÷ liÖu vμ c¸c ph−¬ng thøc vμo mét ®¬n vÞ cÊu tróc líp ®−îc xem nh− mét nguyªn t¾c bao gãi th«ng tin. D÷ liÖu ®−îc tæ chøc sao cho thÕ giíi bªn ngoμi (c¸c ®èi t−îng ë líp kh¸c) kh«ng truy nhËp vμo, mμ chØ cho phÐp c¸c ph−¬ng thøc trong cïng líp hoÆc trong nh÷ng líp cã quan hÖ kÕ thõa víi nhau míi ®−îc quyÒn truy nhËp. ChÝnh c¸c ph−¬ng thøc cña líp sÏ ®ãng vai trß nh− lμ giao diÖn gi÷a d÷ liÖu cña ®èi t−îng vμ phÇn cßn l¹i cña ch−¬ng tr×nh. Nguyªn t¾c bao gãi d÷ liÖu ®Ó ng¨n cÊm sù truy nhËp trùc tiÕp trong lËp tr×nh ®−îc gäi lμ sù che giÊu th«ng tin. 1.2.4. KÕ thõa KÕ thõa lμ qu¸ tr×nh mμ c¸c ®èi t−îng cña líp nμy ®−îc quyÒn sö dông mét sè tÝnh chÊt cña c¸c ®èi t−îng cña líp kh¸c. Sù kÕ thõa cho phÐp ta ®Þnh nghÜa mét líp míi trªn c¬ së c¸c líp ®· tån t¹i. Líp míi nμy, ngoμi nh÷ng thμnh phÇn ®−îc kÕ thõa, sÏ cã thªm nh÷ng thuéc tÝnh vμ c¸c hμm míi. Nguyªn lý kÕ thõa hç trî cho viÖc t¹o ra cÊu tróc ph©n cÊp c¸c líp. 1.2.5. T−¬ng øng béi T−¬ng øng béi lμ kh¶ n¨ng cña mét kh¸i niÖm (ch¼ng h¹n c¸c phÐp to¸n) cã thÓ sö dông víi nhiÒu chøc n¨ng kh¸c nhau. VÝ dô, phÐp + cã thÓ biÓu diÔn cho phÐp “céng” c¸c sè nguyªn (int), sè thùc (float), sè phøc (complex) hoÆc x©u ký tù (string) v.v... Hμnh vi cña phÐp to¸n t−¬ng øng béi phô thuéc vμo kiÓu d÷ liÖu mμ nã sö dông ®Ó xö lý. T−¬ng øng béi ®ãng vai quan träng trong viÖc t¹o ra c¸c ®èi t−îng cã cÊu tróc bªn trong kh¸c nhau nh−ng cïng dïng chung mét giao diÖn bªn ngoμi (nh− tªn gäi). Lập trình HĐT 5 http://www.ebook.edu.vn
- 1.2.6. Liªn kÕt ®éng Liªn kÕt ®éng lμ d¹ng liªn kÕt c¸c thñ tôc vμ hμm khi ch−¬ng tr×nh thùc hiÖn lêi gäi tíi c¸c hμm, thñ tôc ®ã. Nh− vËy trong liªn kÕt ®éng, néi dung cña ®o¹n ch−¬ng tr×nh øng víi thñ tôc, hμm sÏ kh«ng ®−îc biÕt cho ®Õn khi thùc hiÖn lêi gäi tíi thñ tôc, hμm ®ã. 1.2.7. TruyÒn th«ng b¸o C¸c ®èi t−îng göi vμ nhËn th«ng tin víi nhau gièng nh− con ng−êi trao ®æi víi nhau. ChÝnh nguyªn lý trao ®æi th«ng tin b»ng c¸ch truyÒn th«ng b¸o cho phÐp ta dÔ dμng x©y dùng ®−îc hÖ thèng m« pháng gÇn h¬n nh÷ng hÖ thèng trong thÕ giíi thùc. TruyÒn th«ng b¸o cho mét ®èi t−îng lμ yªu cÇu ®èi t−îng thùc hiÖn mét viÖc g× ®ã. C¸ch øng xö cña ®èi t−îng ®−îc m« t¶ bªn trong líp th«ng qua c¸c ph−¬ng thøc. Trong ch−¬ng tr×nh, th«ng b¸o göi ®Õn cho mét ®èi t−îng chÝnh lμ yªu cÇu thùc hiÖn mét c«ng viÖc cô thÓ, nghÜa lμ sö dông nh÷ng hμm t−¬ng øng ®Ó xö lý d÷ liÖu ®· ®−îc khai b¸o trong ®èi t−îng ®ã. V× vËy, trong th«ng b¸o ph¶i chØ ra ®−îc hμm cÇn thùc hiÖn trong ®èi t−îng nhËn th«ng b¸o. Th«ng b¸o truyÒn ®i còng ph¶i x¸c ®Þnh tªn ®èi t−îng vμ th«ng tin truyÒn ®i. VÝ dô, líp CONGNHAN cã thÓ hiÖn lμ ®èi t−îng cô thÓ ®−îc ®¹i diÖn bëi Hoten nhËn ®−îc th«ng b¸o cÇn tÝnh l−¬ng th«ng qua hμm TINHLUONG ®· ®−îc x¸c ®Þnh trong líp CONGNHAN. Th«ng b¸o ®ã sÏ ®−îc xö lý nh− sau: CONGNHAN.TINHLUONG (Hoten) §èi t−îng Th«ng b¸o Th«ng tin Trong ch−¬ng tr×nh h−íng ®èi t−îng, mçi ®èi t−îng chØ tån t¹i trong thêi gian nhÊt ®Þnh. §èi t−îng ®−îc t¹o ra khi nã ®−îc khai b¸o vμ sÏ bÞ hñy bá khi ch−¬ng tr×nh ra khái miÒn x¸c ®Þnh cña ®èi t−îng ®ã. Sù trao ®æi th«ng tin chØ cã thÓ thùc hiÖn trong thêi gian ®èi t−îng tån t¹i. 1.3. C¸c b−íc cÇn thiÕt ®Ó thiÕt kÕ ch−¬ng tr×nh theo h−íng ®èi t−îng Ch−¬ng tr×nh theo h−íng ®èi t−îng bao gåm mét tËp c¸c ®èi t−îng vμ mèi quan hÖ gi÷a c¸c ®èi t−îng víi nhau. V× vËy, lËp tr×nh trong ng«n ng÷ h−íng ®èi t−îng bao gåm c¸c b−íc sau: 1. X¸c ®Þnh c¸c d¹ng ®èi t−îng (líp) cña bμi tãan. Lập trình HĐT 6 http://www.ebook.edu.vn
- 2. T×m kiÕm c¸c ®Æc tÝnh chung (d÷ liÖu chung) trong c¸c d¹ng ®èi t−îng nμy, nh÷ng g× chóng cïng nhau chia xÎ. 3. X¸c ®Þnh líp c¬ së dùa trªn c¬ së c¸c ®Æc tÝnh chung cña c¸c d¹ng ®èi t−îng. 4. Tõ líp c¬ së, x©y dùng c¸c líp dÉn xuÊt chøa c¸c thμnh phÇn, nh÷ng ®Æc tÝnh kh«ng chung cßn l¹i cña c¸c d¹ng ®èi t−îng. Ngoμi ra, ta cßn ®−a ra c¸c líp cã quan hÖ víi c¸c líp c¬ së vμ líp dÉn xuÊt. 1.4. C¸c −u ®iÓm cña lËp tr×nh h−íng ®èi t−îng C¸ch tiÕp cËn h−íng ®èi t−îng gi¶i quyÕt ®−îc nhiÒu vÊn ®Ò tån t¹i trong qu¸ tr×nh ph¸t triÓn phÇn mÒm vμ t¹o ra ®−îc nh÷ng s¶n phÈm phÇn mÒm cã chÊt l−îng cao. Nh÷ng −u ®iÓm chÝnh cña LTH§T lμ: 1. Th«ng qua nguyªn lý kÕ thõa, cã thÓ lo¹i bá ®−îc nh÷ng ®o¹n ch−¬ng tr×nh lÆp l¹i trong qu¸ tr×nh m« t¶ c¸c líp vμ më réng kh¶ n¨ng sö dông c¸c líp ®· ®−îc x©y dùng. 2. Ch−¬ng tr×nh ®−îc x©y dùng tõ nh÷ng ®¬n thÓ (®èi t−îng) trao ®æi víi nhau nªn viÖc thiÕt kÕ vμ lËp tr×nh sÏ ®−îc thùc hiÖn theo quy tr×nh nhÊt ®Þnh chø kh«ng ph¶i dùa vμo kinh nghiÖm vμ kü thuËt nh− tr−íc. §iÒu nμy ®¶m b¶o rót ng¾n ®−îc thêi gian x©y dùng hÖ thèng vμ t¨ng n¨ng suÊt lao ®éng. 3. Nguyªn lý che giÊu th«ng tin gióp ng−êi lËp tr×nh t¹o ra ®−îc nh÷ng ch−¬ng tr×nh an toμn kh«ng bÞ thay bëi nh÷ng ®o¹n ch−¬ng tr×nh kh¸c. 4. Cã thÓ x©y dùng ®−îc ¸nh x¹ c¸c ®èi t−îng cña bμi to¸n vμo ®èi t−îng cña ch−¬ng tr×nh. 5. C¸ch tiÕp cËn thiÕt kÕ ®Æt träng t©m vμo ®èi t−îng, gióp chóng ta x©y dùng ®−îc m« h×nh chi tiÕt vμ gÇn víi d¹ng cμi ®Æt h¬n. 6. Nh÷ng hÖ thèng h−íng ®èi t−îng dÔ më réng, n©ng cÊp thμnh nh÷ng hÖ lín h¬n. 7. Kü thuËt truyÒn th«ng b¸o trong viÖc trao ®æi th«ng tin gi÷a c¸c ®èi t−îng gióp cho viÖc m« t¶ giao diÖn víi c¸c hÖ thèng bªn ngoμi trë nªn ®¬n gi¶n h¬n. 8. Cã thÓ qu¶n lý ®−îc ®é phøc t¹p cña nh÷ng s¶n phÈm phÇn mÒm. Kh«ng ph¶i trong hÖ thèng h−íng ®èi t−îng nμo còng cã tÊt c¶ c¸c tÝnh chÊt nªu trªn. Kh¶ n¨ng cã c¸c tÝnh chÊt ®ã cßn phô thuéc vμo lÜnh vùc øng dông cña dù ¸n tin häc vμ vμo ph−¬ng ph¸p thùc hiÖn cña ng−êi ph¸t triÓn phÇn mÒm. Lập trình HĐT 7 http://www.ebook.edu.vn
- 1.5. C¸c ng«n ng÷ h−íng ®èi t−îng LËp tr×nh h−íng ®èi t−îng kh«ng lμ ®Æc quyÒn cña mét ng«n ng÷ nμo ®Æc biÖt. Còng gièng nh− lËp tr×nh cã cÊu tróc, nh÷ng kh¸i niÖm trong lËp tr×nh h−íng ®èi t−îng cã thÓ cμi ®Æt trong nh÷ng ng«n ng÷ lËp tr×nh nh− C hoÆc Pascal,... Tuy nhiªn, ®èi víi nh÷ng ch−¬ng tr×nh lín th× vÊn ®Ò lËp tr×nh sÏ trë nªn phøc t¹p. Nh÷ng ng«n ng÷ ®−îc thiÕt kÕ ®Æc biÖt, hç trî cho viÖc m« t¶, cμi ®Æt c¸c kh¸i niÖm cña ph−¬ng ph¸p h−íng ®èi t−îng ®−îc gäi chung lμ ng«n ng÷ ®èi t−îng. Dùa vμo kh¶ n¨ng ®¸p øng c¸c kh¸i niÖm vÒ h−íng ®èi t−îng, ta cã thÓ chia ra lμm hai lo¹i: 1. Ng«n ng÷ lËp tr×nh dùa trªn ®èi t−îng 2. Ng«n ng÷ lËp tr×nh h−íng ®èi t−îng LËp tr×nh dùa trªn ®èi t−îng lμ kiÓu lËp tr×nh hç trî chÝnh cho viÖc bao gãi, che giÊu th«ng tin vμ ®Þnh danh c¸c ®èi t−îng. LËp tr×nh dùa trªn ®èi t−îng cã nh÷ng ®Æc tÝnh sau: • Bao gãi d÷ liÖu • C¬ chÕ che giÊu vμ truy nhËp d÷ liÖu • Tù ®éng t¹o lËp vμ xãa bá c¸c ®èi t−îng • PhÐp to¸n t¶i béi Ng«n ng÷ hç trî cho kiÓu lËp tr×nh trªn ®−îc gäi lμ ng«n ng÷ lËp tr×nh dùa trªn ®èi t−îng. Ng«n ng÷ trong líp nμy kh«ng hç trî cho viÖc thùc hiÖn kÕ thõa vμ liªn kÕt ®éng, ch¼ng h¹n Ada lμ ng«n ng÷ lËp tr×nh dùa trªn ®èi t−îng. LËp tr×nh h−íng ®èi t−îng lμ kiÓu lËp tr×nh dùa trªn ®èi t−îng vμ bæ sung thªm nhiÒu cÊu tróc ®Ó cμi ®Æt nh÷ng quan hÖ vÒ kÕ thõa vμ liªn kÕt ®éng. V× vËy ®Æc tÝnh cña LTH§T cã thÓ viÕt mét c¸ch ng¾n gän nh− sau: C¸c ®Æc tÝnh dùa trªn ®èi t−îng + kÕ thõa + liªn kÕt ®éng. Ng«n ng÷ hç trî cho nh÷ng ®Æc tÝnh trªn ®−îc gäi lμ ng«n ng÷ LTH§T, vÝ dô nh− C++, Smalltalk, Object Pascal v.v... ViÖc chän mét ng«n ng÷ ®Ó cμi ®Æt phÇn mÒm phô thuéc nhiÒu vμo c¸c ®Æc tÝnh vμ yªu cÇu cña bμi to¸n øng dông, vμo kh¶ n¨ng sö dông l¹i cña nh÷ng ch−¬ng tr×nh ®· cã vμ vμo tæ chøc cña nhãm tham gia x©y dùng phÇn mÒm. 1.6. Mét sè øng dông cña LTH§T LTH§T ®ang ®−îc øng dông ®Ó ph¸t triÓn phÇn mÒm trong nhiÒu lÜnh vùc kh¸c nhau. Trong sè ®ã, cã øng dông quan träng vμ næi tiÕng nhÊt hiÖn nay lμ hÖ Lập trình HĐT 8 http://www.ebook.edu.vn
- ®iÒu hμnh Windows cña h·ng Microsoft ®· ®−îc ph¸t triÓn dùa trªn kü thuËt LTH§T. Mét sè nh÷ng lÜnh vùc øng dông chÝnh cña kü thuËt LTH§T bao gåm: + Nh÷ng hÖ thèng lμm viÖc theo thêi gian thùc. + Trong lÜnh vùc m« h×nh hãa hoÆc m« pháng c¸c qu¸ tr×nh + C¸c c¬ së d÷ liÖu h−íng ®èi t−îng. + Nh÷ng hÖ siªu v¨n b¶n, multimedia + LÜnh vùc trÝ tuÖ nh©n t¹o vμ c¸c hÖ chuyªn gia. + LËp tr×nh song song vμ m¹ng n¬-ron. + Nh÷ng hÖ tù ®éng hãa v¨n phßng vμ trî gióp quyÕt ®Þnh. ... Lập trình HĐT 9 http://www.ebook.edu.vn
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Trắc nghiệm Linux
12 p | 263 | 62
-
BUỔI THỰC HÀNH THỨ 1 - Tin học căn bản
17 p | 218 | 52
-
Bài giảng Hệ điều hành: Chương 3 - Phạm Đăng Hải
245 p | 203 | 49
-
Giáo trình -Lý thuyết hệ điều hành - chương 1
45 p | 254 | 46
-
Lý thuyết hệ điều hành - Chương 1
14 p | 207 | 20
-
Bài giảng Hệ điều hành: Chương 1
26 p | 119 | 13
-
Hệ điều hành Linux - Bài 1: Linux và các lệnh cơ bản
5 p | 106 | 12
-
Bài giảng Lý thuyết quản trị mạng máy tính: Chương 1 - ThS. Lương Minh Huấn
38 p | 51 | 12
-
Tổng quan hệ điều hành - Chương 1
33 p | 102 | 11
-
Bài giảng Hệ điều hành (Phần lý thuyết) - GV. Nguyễn Duy Nhất
120 p | 96 | 11
-
Hệ điều hành ( Vũ Đức Lung ) - Chương 1
33 p | 104 | 10
-
Lý thuyết hệ điều hành - Chương 13
12 p | 97 | 9
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 p | 39 | 9
-
Hệ điều hành ( Vũ Đức Lung ) - Chương 5 phần 1
15 p | 95 | 8
-
Giáo trình Hệ điều hành - NXB Hà Nội: Phần 1
70 p | 74 | 8
-
Giáo trình Lý thuyết hệ điều hành: Phần 2 - Nguyễn Kim Tuấn
139 p | 12 | 8
-
Bài giảng Hệ điều hành: Phần 1 - Trường Đại học Kiến trúc Hà Nội
98 p | 19 | 7
-
Hệ điều hành cho hệ nhúng
17 p | 72 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn