C Lập Trình Hướng Đối Tượng

281 289 0
C Lập Trình Hướng Đối Tượng

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lập trình phần mềm là một nghề đòi hỏi sự tư duy logic và sự sáng tạo tinh tế. Ngôn ngữ lập trình thì rất đa dạng, nhưng trong xu thế phát triển của ngành phần mềm hiện đại, đòi hỏi phải có một ngôn ngữ lập trình hiện đại, mạnh về xử lý, đơn giản về cấu trúc lệnh, dễ học, hướng đối tượng... Và ngôn ngữ lập trình C (C Sharp) đã ra đời và nhanh chóng được phổ biến, và trở thành ngôn ngữ tiên phong trong cuộc cách mạng phần mềm.

TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN CÔNG NGH PHN MM PHM VN VIT - TRNG LP V TÌM HIU NGÔN NG C# VÀ VIT MT NG DNG MINH HA  ÁN TT NGIP GIÁO VIÊN HNG DN NGUYN TN TRN MINH KHANG TP. HCM 2002 TRNG I HC KHOA HC T NHIÊN KHOA CÔNG NGH THÔNG TIN B MÔN CÔNG NGH PHN MM PHM VN VIT - TRNG LP V TÌM HIU NGÔN NG C# VÀ VIT MT NG DNG MINH HA GIÁO VIÊN HNG DN NGUYN TN TRN MINH KHANG TP. HCM 2002 Li cám n  có th hoàn tt đc bài đ án này, trc tiên phi k đn công sc ca thy Nguyn Tn Trn Minh Khang. Chúng em kính li cm n đn thy đã tn tình hng dn và giúp đ trong thi gian thc hin đ án này. Chúng em xin t lòng bit n sâu sc đi vi gia đình đã đng viên, to điu kin đ thc hin tt bài đ án. Xin cám n cha, m, anh, ch, em! Chúng em cng xin chân thành cm n đn các thy cô khoa Công ngh thông tin trng i hc Khoa hc T nhiên Thành ph H Chí Minh đã truyn đt nhng kin thc, kinh nghim quí báu cho chúng em trong quá trình hc tp ti trng. Chúng em cng xin chân thành cm n đn các bn bè đã giúp đ tài liu, trao đi hc thut mi có th thc hin đ án này. Xin gi li cm n đn các bn H Ngc Huy, Trn Th Anh, Bùi Thanh Tun Thành ph H Chí Minh, ngày 03 tháng 8 nm 2002 Sinh viên Phm Vn Vit Trng Lp V Mc lc Li cám n 3 Mc lc 4 Tóm tt 1 Phn 1 Tìm hiu ngôn ng C# 1 Chng 1 C# và .Net Framework 2 1.1 Nn tng ca .NET 2 1.2 .NET Framework 3 1.3 Biên dch và ngôn ng trung gian (MSIL) 4 1.4 Ngôn ng C# 5 Chng 2 Khi đu 6 2.1 Lp, đi tng và kiu 6 2.2 Phát trin “Hello World” 8 Chng 3 Nhng c s ca ngôn ng C# 12 3.1 Các kiu 12 3.2 Bin và hng 14 3.3 Biu thc 16 3.4 Khong trng 16 3.5 Câu lnh 16 3.6 Toán t 19 3.7 To vùng tên 21 3.8 Ch th tin x lý 22 Chng 4 Lp và đi tng 24 4.1 nh ngha lp 24 4.2 To đi tng 25 4.3 S dng các thành viên tnh 27 4.4 Hy đi tng 29 4.5 Truyn tham s 30 4.6 Np chng phng thc và hàm dng 32 4.7 óng gói d liu vi property 33 Chng 5 Tha k và a hình 35 5.1 c bit hoá và tng quát hoá 35 5.2 S k tha 35 5.3 a hình 37 5.4 Lp tru tng 38 5.5 Lp gc ca tt c các lp: Object 39 5.6 Kiu Boxing và Unboxing 40 5.7 Lp lng 42 Chng 6 Np chng toán t 44 6.1 Cách dùng t khoá operator 44 6.2 Cách h tr các ngôn ng .Net khác 44 6.3 S hu ích ca các toán t 44 6.4 Các toán t logic hai ngôi 45 6.5 Toán t so sánh bng 45 6.6 Toán t chuyn đi kiu (ép kiu) 45 Chng 7 Cu trúc 48 7.1 nh ngha cu trúc 48 7.2 Cách to cu trúc 49 Chng 8 Giao din 50 8.1 Cài đt mt giao din 50 8.2 Truy xut phng thc ca giao din 52 8.3 Np chng phn cài đt giao din 54 8.4 Thc hin giao din mt cách tng minh 55 Chng 9 Array, Indexer, and Collection 58 9.1 Mng (Array) 58 9.2 Câu lnh foreach 59 9.3 Indexers 62 9.4 Các giao din túi cha 65 9.5 Array Lists 65 9.6 Hàng đi 65 9.7 Stacks 66 9.8 Dictionary 66 Chng 10 Chui 67 10.1 To chui mi 67 10.2 Phng thc ToString() 67 10.3 Thao tác chui 68 10.4 Thao tác chui đng 70 Chng 11 Qun lý li 72 11.1 Ném và bt bit l 73 11.2 i tng Exception 80 11.3 Các bit l t to 82 11.4 Ném bit l ln na. 83 Chng 12 Delegate và Event 87 12.1 Delegate (y thác, y quyn) 87 12.2 Event (S kin) 101 Chng 13 Lp trình vi C# 109 13.1 ng dng Windows vi Windows Form 109 Chng 14 Truy cp d liu vi ADO.NET 144 14.1 C s d liu và ngôn ng truy vn SQL 144 14.2 Mt s loi kt ni hin đang s dng 144 14.3 Kin trúc ADO.NET 145 14.4 Mô hình đi tng ADO.NET 146 14.5 Trình cung cp d liu (.NET Data Providers) 148 14.6 Khi s vi ADO.NET 148 14.7 S dng trình cung cp d liu đc qun lý 151 14.8 Làm vic vi các điu khin kt buc d liu 152 14.9 Thay đi các bn ghi ca c s d liu 161 Chng 15 ng dng Web vi Web Forms 173 1.1 Tìm hiu v Web Forms 173 15.1 Các s kin ca Web Forms 174 15.2 Hin th chui lên trang 175 15.3 iu khin xác nhn hp 178 15.4 Mt s ví d mu minh ha 179 Chng 16 Các dch v Web 192 Chng 17 Assemblies và Versioning 196 17.1 Tp tin PE 196 17.2 Metadata 196 17.3 Ranh gii an ninh 196 17.4 S hiu phiên bn (Versioning) 196 17.5 Manifest 196 17.6 a Module Assembly 197 17.7 Assembly ni b (private assembly) 198 17.8 Assembly chia s (shared assembly) 198 Chng 18 Attributes và Reflection 200 18.1 Attributes 200 18.2 Attribute mc đnh (intrinsic attributes) 200 18.3 Attribute do lp trình viên to ra 201 18.4 Reflection 203 Chng 19 Marshaling và Remoting 204 19.1 Min ng Dng (Application Domains) 204 19.2 Context 206 19.3 Remoting 208 Chng 20 Thread và S ng B 215 20.1 Thread 215 20.2 ng b hóa (Synchronization) 216 20.3 Race condition và DeadLock 221 Chng 21 Lung d liu 223 21.1 Tp tin và th mc 223 21.2 c và ghi d liu 230 21.3 Bt đng b nhp xut 235 21.4 Serialization 238 21.5 Isolate Storage 244 Chng 22 Lp trình .NET và COM 246 22.1 P/Invoke 246 22.2 Con tr 248 Phn 2 Xây dng mt ng dng minh ha 250 Chng 23 Website dy hc ngôn ng C# 251 23.1 Hin trng và yêu cu 251 23.2 Phân tích hng đi tng 258 23.3 Thit k hng đi tng 262 Tóm tt  tài này tp trung tìm hiu toàn b các khái nim liên quan đn ngôn ng C#. Bi vì C# đc Microsoft phát trin nh là mt thành phn ca khung ng dng .NET Framework và hng Internet nên đ tài này bao gm hai phn sau: Phn 1: Tìm hiu v ngôn ng C# Vic tìm hiu bao gm c các kin thc nn tng v công ngh .NET Framework, chun b cho các khái nim liên quan gia C# và .NET Framework. Sau đó tìm hiu v b cú pháp ca ngôn ng này, bao gm toàn b tp lnh, t khóa, khái nim v lp trình hng đi tng theo C#, các h tr lp trình hng component Sau cùng là cách lp trình C# vi ng dng Window cho máy đ bàn và C# vi các công ngh hin đi nh ASP.NET. ADO.NET, XML cho lp trình Web. Phn 2: Xây dng mt ng dng Phn này là báo cáo v ng dng minh ha cho vic tìm hiu  trên. Tên ng dng là Xây dng mt Website dy hc C#. ây là ng dng Web cài đt bng ngôn ng C# và ASP.NET. Trong đó ASP.NET đc dùng đ xây dng giao din tng tác vi ngi dùng; còn C# là ngôn ng lp trình bên di. ng dng có thao tác c s d liu (Microsoft SQL Server) thông quan mô hình ADO.NET. 1 Phn 1 Tìm hiu ngôn ng C# C# và .Net Framework Gvhd: Nguyn Tn Trn Minh Khang 2 Chng 1 C# và .Net Framework Mc tiêu ca C# là cung cp mt ngôn ng lp trình đn gin, an toàn, hin đi, hng đi tng, đt trng tâm vào Internet, có kh nng thc thi cao cho môi trng .NET. C# là mt ngôn ng mi, nhng tích hp trong nó nhng tinh hoa ca ba thp k phát trin ca ngôn ng lp trình. Ta có th d dàng thy trong C# có nhng đc trng quen thuc ca Java, C++, Visual Basic, …  tài này đt trng tâm gii thiu ngôn ng C# và cách dùng nó nh là mt công c lp trình trên nn tng .NET. Vi ngôn ng C++, khi hc nó ta không cn quan tâm đn môi trng thc thi. Vi ngôn ng C#, ta hc đ to mt ng dng .NET, nu l là ý này có th b l quan đim chính ca ngôn ng này. Do đó, trong đ tài này xét C# tp trung trong ng cnh c th là nn tng .NET ca Microsoft và trong các ng dng máy tính đ bàn và ng dng Internet. Chng này trình bày chung v hai phn là ngôn ng C# và nn tng .NET, bao gm c khung ng dng .NET (.NET Framework) 1.1 Nn tng ca .NET Khi Microsoft công b C# vào tháng 7 nm 2000, vic khánh thành nó ch là mt phn trong s rt nhiu s kin mà nn tng .Net đc công công b. Nn tng .Net là bô khung phát trin ng dng mi, nó cung cp mt giao din lp trình ng dng (Application Programming Interface - API) mi m cho các dch v và h điu hành Windows, c th là Windows 2000, nó cng mang li nhiu k thut khác ni bt ca Microsoft sut t nhng nm 90. Trong s đó có các dch v COM+, công ngh ASP, XML và thit k hng đi tng, h tr các giao thc dch v web mi nh SOAP, WSDL và UDDL vi trng tâm là Internet, tt c đc tích hp trong kin trúc DNA. Nn tng .NET bao gm bn nhóm sau: 1. Mt tp các ngôn ng, bao gm C# và Visual Basic .Net; mt tp các công c phát trin bao gm Visual Studio .Net; mt tp đy đ các th vin phc v cho vic xây dng các ng dng web, các dch v web và các ng dng Windows; còn có CLR - Common Language Runtime: (ngôn ng thc thi dùng chung) đ thc thi các đi tng đc xây dng trên bô khung này. 2. Mt tp các Server Xí nghip .Net nh SQL Server 2000. Exchange 2000, BizTalk 2000, … chúng cung cp các chc nng cho vic lu tr d liu quan h, th đin t, thng mi đin t B2B, … [...]... trên c a CLR bao g m: C c l p c s C c l p d li u và XML C c l p cho d ch v web, web form, và Windows form C c l p này c g i chung là FCL, Framework Class Library, cung c p API h ng i t ng cho t t c c c ch c n ng c a NET Framework (h n 5000 l p) C c l p c s t ng t v i c c l p trong Java C c l p này h tr c c thao t c nh p xu t, thao t c chu i, v n b n, qu n lý b o m t, truy n thơng m ng, qu n lý ti u trình. .. th c hi n c vi c này nh vào c t Common Type System - CTS (h th ng ki u chung) mà t t c c c thành ph n Net u tn theo Ví d , m i th trong Net u là i t ng, th a k t l p g c System.Object Ngồi ra Net c n bao g m Common Language Specification - CLS ( c t ngơn ng chung) Nó cung c p c c qui t c c b n mà ngơn ng mu n tích h p ph i th a mãn CLS ch ra c c u c u t i thi u c a ngơn ng h tr Net Trình biên d ch... C ch khai báo vùng tên th nh t ch ti n n u c c vùng tên n m trên c ng m t t p tin C ch th hai ti n l i h n khi c c vùng tên n m trên nhi u t p tin kh c nhau 3.8 Ch th ti n x lý Khơng ph i m i c u l nh u c biên d ch c ng l c mà c m t s trong chúng c biên d ch tr c m t s kh c C c câu l nh nh th này g i là c c ch th ti n x lý C c ch th ti n x lý c t sau d u # 3.8.1 nh ngh a c c nh danh #define DEBUG nh ngh... …) v i c c ki u do ng i dùng nh ngh a Ngồi ra, ch ng này c ng s trình bày c ch t o và dùng bi n, h ng; gi i thi u ki u li t kê, chu i, ki u nh danh, bi u th c, và c u l nh Ph n hai c a ch ng trình bày v c c c u tr c i u ki n và c c tốn t logic, quan h , tốn h c, … 3.1 C c ki u C# bu c ph i khai báo ki u c a i t ng c t o Khi ki u c khai báo rõ ràng, trình biên d ch s giúp ng n ng a l i b ng c ch ki m... c i u ki n C c t khóa if-else, while, do-while, for, switch-case, dùng i u khi n dòng ch y ch ng trình C# gi l i t t c c c cú pháp c a C+ +, ngo i tr switch c vài c i ti n 3.5.2.1 L nh If else … C pháp: if ( bi u th c logic ) kh i l nh; ho c if ( bi u th c logic ) kh i l nh 1; else kh i l nh 2; Ghi chú: Kh i l nh là m t t p c c câu l n trong c p d u “{…}” B t k n i âu c c u l nh thì ó c th vi t... protected Truy xu t trong n i b l p ho c trong c c l p con internal Truy xu t n i trong ch ng trình (assembly) protected internal Truy xu t n i trong ch c c l p con ng trình (assembly) và trong private (m c Ch nh) c truy xu t trong n i b l p 4.1.2 C c tham s c a ph ng th c M i ph ng th c có th khơng c tham s mà c ng c th c nhi u tham s C c tham s theo sau tên ph ng th c và t trong c p ngo c n Ví... hay t p tin th c thi (EXE) Trong NET m t assembly là m t on v c a vi c tái s d ng, x c nh phiên b n, b o m t, và phân ph i CLR cung c p m t s c c l p thao t c v i assembly C# c ng cho truy c p tr c ti p b nh dùng con tr ki u C+ +, nh ng vùng mã ó c xem nh khơng an tồn CLR s khơng th c thi vi c thu d n r c t ng c c i t ng c tham chi u b i con tr cho n khi l p trình viên t gi i phóng 5 Kh i Ch u Gvhd: Nguy... c y vùng tên MyApplication Presentation vùng tên con Vùng tên con C c lớp Bussiness vùng tên con C c lớp Data vùng tên con C c lớp c truy xu t thơng qua tên vùng tên cha c ch nhau b ng d u ch m khai báo vùng tên ta s d ng t khóa namespace Ví d d báo c c vùng tên trong ví d trên 21 i ây là 2 c ch khai Nh ng c s c a ngơn ng C# Gvhd: Nguy n T n Tr n Minh Khang C ch 1 namespace MyApplication { namespace... C+ +, ch c kh c là cu i khai báo l p khơng c n d u “;” 2.1.1 Ph ng th c C c hành vi c a m t l p c g i là c c ph ng th c thành viên (g i t t là ph ng th c) c a l p ó M t ph ng th c là m t hàm (ph ng th c thành viên c n g i là hàm thành viên) C c ph ng th c nh ngh a nh ng gì mà m t l p c th làm C ch khai báo, n i dung và c ch s d ng c c ph ng th c gi ng hồn tồn v i Java và C+ + Trong ví d trên c m t... và c c ch c n ng t ng h p kh c … Trên m c này là l p d li u và XML L p d li u h tr vi c thao t c c c d li u trên c s d li u C c l p này bao g m c c l p SQL (Structure Query Language: ngơn ng truy v n c c u tr c) cho phép ta thao t c d li u thơng qua m t giao ti p SQL chu n Ngồi ra c n m t t p c c l p g i là ADO.Net c ng cho phép thao t c d li u L p XML h tr thao t c d li u XML, tìm ki m và di n d ch . nó t C#. C# và .Net Framework Gvhd: Nguyn Tn Trn Minh Khang 5 1.4 Ngôn ng C# C# là mt ngôn ng rt đn gin, vi khong 80 t khoá và hn mi kiu d liu dng sn, nhng C# có tính. 1 Phn 1 Tìm hiu ngôn ng C# C# và .Net Framework Gvhd: Nguyn Tn Trn Minh Khang 2 Chng 1 C# và .Net Framework Mc tiêu ca C# là cung cp mt ngôn ng lp trình đn. dng mt Website dy hc C#. ây là ng dng Web cài đt bng ngôn ng C# và ASP.NET. Trong đó ASP.NET đc dùng đ xây dng giao din tng tác vi ngi dùng; còn C# là ngôn ng lp trình

Ngày đăng: 28/07/2015, 14:27

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan