Giáo trình Lập trình hướng đối tượng (156 trang)
Số trang: 156
Loại file: pdf
Dung lượng: 372.56 KB
Lượt xem: 12
Lượt tải: 0
Xem trước 10 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Giáo trình Lập trình hướng đối tượng gồm có 6 chương vơi những nội dung chính sau: Các khái niệm cơ sở của lập trình hướng đối tượng, các mở rộng của ngôn ngữ C++, lớp, toán tử tải bội, kế thừa, khuôn hình. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Giáo trình Lập trình hướng đối tượng (156 trang)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−îng1.1. Giíi thiÖu1.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¸cthùc thÓ cã mèi quan hÖ víi nhau. VÝ dô c¸c phßng trong mét c«ng ty kinhdoanh ®−îc xem nh− nh÷ng ®èi t−îng. C¸c phßng ë ®©y cã thÓ lµ: phßng qu¶nlý, 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¸nbé ®¶m nhiÖm nh÷ng c«ng viÖc cô thÓ, cßn cã nh÷ng d÷ liÖu riªng nh− th«ng tinvÒ 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µngcho 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ªntrong 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µyb¹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 1d÷ 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äilÜ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 ®èit−î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Ònthèng ®Ó tõ ®ã thÊy r»ng v× sao chóng ta cÇn chuyÓn sang ph−¬ng ph¸p lËp tr×nhh−í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¸cc«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Õtqu¶ 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 racÊ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. 21.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©ydù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íic¸c ph−¬ng thøc (c¸c hµm/thñ tôc) sÏ thÓ hiÖn ®−îc ®óng c¸ch mµ chóng ta suynghÜ, bao qu¸t vÒ thÕ giíi thùc. LTH§T cho phÐp ta kÕt hîp nh÷ng tri thøc baoqu¸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¸ytÝnh. §iÓm c¨n b¶n cña ph−¬ng ph¸p LTH§T lµ thiÕt kÕ ch−¬ng tr×nh xoayquanh 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¾nliÒn víi d÷ liÖu vµ nh− vËy khi cã sù thay ®æi cñ ...
Nội dung trích xuất từ tài liệu:
Giáo trình Lập trình hướng đối tượng (156 trang)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−îng1.1. Giíi thiÖu1.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¸cthùc thÓ cã mèi quan hÖ víi nhau. VÝ dô c¸c phßng trong mét c«ng ty kinhdoanh ®−îc xem nh− nh÷ng ®èi t−îng. C¸c phßng ë ®©y cã thÓ lµ: phßng qu¶nlý, 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¸nbé ®¶m nhiÖm nh÷ng c«ng viÖc cô thÓ, cßn cã nh÷ng d÷ liÖu riªng nh− th«ng tinvÒ 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µngcho 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ªntrong 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µyb¹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 1d÷ 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äilÜ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 ®èit−î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Ònthèng ®Ó tõ ®ã thÊy r»ng v× sao chóng ta cÇn chuyÓn sang ph−¬ng ph¸p lËp tr×nhh−í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¸cc«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Õtqu¶ 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 racÊ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. 21.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©ydù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íic¸c ph−¬ng thøc (c¸c hµm/thñ tôc) sÏ thÓ hiÖn ®−îc ®óng c¸ch mµ chóng ta suynghÜ, bao qu¸t vÒ thÕ giíi thùc. LTH§T cho phÐp ta kÕt hîp nh÷ng tri thøc baoqu¸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¸ytÝnh. §iÓm c¨n b¶n cña ph−¬ng ph¸p LTH§T lµ thiÕt kÕ ch−¬ng tr×nh xoayquanh 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¾nliÒn víi d÷ liÖu vµ nh− vËy khi cã sù thay ®æi cñ ...
Tìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Ngôn ngữ C++ Toán tử tải bội Con trỏ đối tượng Khuôn hình hàm Hàm ảoGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 271 0 0 -
101 trang 199 1 0
-
14 trang 133 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 112 0 0 -
150 trang 103 0 0
-
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 96 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 95 0 0 -
265 trang 78 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 75 0 0 -
33 trang 68 0 0