Tìm hiểu c

369 40 0
Tìm hiểu c

Đ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

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 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 Để hoàn tất đồ án này, trước tiên phải kể đến công sức 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 giúp đỡ thời gian thực đồ án Chúng em xin tỏ lịng biết ơn sâu sắc gia đình động viên, tạo điều kiện để thực tốt đồ án Xin cám ơn cha, mẹ, anh, chị, em! Chúng em xin chân thành cảm ơn đến 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 kiến thức, kinh nghiệm quí báu cho chúng em trình học tập trường Chúng em xin chân thành cảm ơn đến bạn bè giúp đỡ tài liệu, trao đổi học thuật thực đồ án Xin gởi lời cảm ơn đến 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 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 Mục lục Tóm tắt Phần Tìm hiểu ngơn ngữ C# .1 Chương C# Net Framework .2 1.1 Nền tảng NET 1.2 NET Framework 1.3 Biên dịch ngôn ngữ trung gian (MSIL) 1.4 Ngôn ngữ C# Chương Khởi đầu 2.1 Lớp, đối tượng kiểu 2.2 Phát triển “Hello World” .10 Chương Những sở ngôn ngữ C# 13 3.1 Các kiểu 13 3.2 Biến 15 3.3 Biểu thức 17 3.4 Khoảng trắng 18 3.5 Câu lệnh 18 3.6 Toán tử 21 3.7 Tạo vùng tên 24 3.8 Chỉ thị tiền xử lý 25 Chương Lớp đối tượng 28 4.1 Định nghĩa lớp 28 4.2 Tạo đối tượng .30 4.3 Sử dụng thành viên tĩnh 32 4.4 Hủy đối tượng .35 4.5 Truyền tham số .36 4.6 Nạp chồng phương thức hàm dựng 38 4.7 Đóng gói liệu với property .40 Chương Thừa kế Đa hình 43 5.1 Đặc biệt hoá tổng quát hoá .43 5.2 Sự kế thừa .43 5.3 Đa hình 46 5.4 Lớp trừu tượng 47 5.5 Lớp gốc tất lớp: Object 49 5.6 Kiểu Boxing Unboxing 50 5.7 Lớp lồng .52 Chương Nạp chồng toán tử 55 6.1 Cách dùng từ khoá operator 55 6.2 Cách hổ trợ ngôn ngữ Net khác .55 6.3 Sự hữu ích toán tử 56 6.4 Các toán tử logic hai .56 6.5 Toán tử so sánh 56 6.6 Toán tử chuyển đổi kiểu (ép kiểu) 56 Chương Cấu trúc 61 7.1 Định nghĩa cấu trúc .61 7.2 Cách tạo cấu trúc 62 Chương Giao diện .64 8.1 Cài đặt giao diện 64 8.2 Truy xuất phương thức giao diện 66 8.3 Nạp chồng phần cài đặt giao diện 70 8.4 Thực giao diện cách tường minh 71 Chương Array, Indexer, and Collection .75 9.1 Mảng (Array) 75 9.2 Câu lệnh foreach 76 9.3 Indexers 80 9.4 Các giao diện túi chứa 84 9.5 Array Lists 85 9.6 Hàng đợi .85 9.7 Stacks 85 9.8 Dictionary .86 Chương 10 Chuỗi 87 10.1 Tạo chuỗi .87 10.2 Phương thức ToString() 88 10.3 Thao tác chuỗi 88 10.4 Thao tác chuỗi động 91 Chương 11 Quản lý lỗi 94 11.1 Ném bắt biệt lệ .95 11.2 Đối tượng Exception 105 11.3 Các biệt lệ tự tạo .108 11.4 Ném biệt lệ lần 110 Chương 12 Delegate Event 115 12.1 Delegate (ủy thác, ủy quyền) 115 12.2 Event (Sự kiện) 136 Chương 13 Lập trình với C# 146 13.1 Ứng dụng Windows với Windows Form 146 Chương 14 Truy cập liệu với ADO.NET 191 14.1 Cơ sở liệu ngôn ngữ truy vấn SQL 191 14.2 Một số loại kết nối sử dụng 192 14.3 Kiến trúc ADO.NET 192 14.4 Mơ hình đối tượng ADO.NET 193 14.5 Trình cung cấp liệu (.NET Data Providers) 195 14.6 Khởi với ADO.NET .196 14.7 Sử dụng trình cung cấp liệu quản lý 201 14.8 Làm việc với điều khiển kết buộc liệu 202 14.9 Thay đổi ghi sở liệu .215 Chương 15 Ứng dụng Web với Web Forms 234 1.1Tìm hiểu Web Forms .234 15.1 Các kiện Web Forms 235 15.2 Hiển thị chuỗi lên trang 236 15.3 Điều khiển xác nhận hợp 240 15.4 Một số ví dụ mẫu minh họa 241 Chương 16 Các dịch vụ Web 260 Chương 17 Assemblies Versioning 266 17.1 Tập tin PE 266 17.2 Metadata 266 17.3 Ranh giới an ninh 266 17.4 Số hiệu phiên (Versioning) 266 17.5 Manifest 267 17.6 Đa Module Assembly 267 17.7 Assembly nội (private assembly) 268 17.8 Assembly chia sẻ (shared assembly) 268 Chương 18 Attributes Reflection .270 18.1 Attributes 270 18.2 Attribute mặc định (intrinsic attributes) 270 18.3 Attribute lập trình viên tạo .271 18.4 Reflection 273 Chương 19 Marshaling Remoting 274 19.1 Miền Ứng Dụng (Application Domains) 274 19.2 Context .276 19.3 Remoting 278 Chương 20 Thread Sự Đồng Bộ 289 20.1 Thread .289 20.2 Đồng hóa (Synchronization) 290 20.3 Race condition DeadLock 297 Chương 21 Luồng liệu .299 21.1 Tập tin thư mục 299 21.2 Đọc ghi liệu .309 21.3 Bất đồng nhập xuất 316 21.4 Serialization 321 21.5 Isolate Storage 328 Chương 22 Lập trình NET COM 331 22.1 P/Invoke 331 22.2 Con trỏ 334 Phần Xây dựng ứng dụng minh họa .337 Chương 23 Website dạy học ngôn ngữ C# 338 23.1 Hiện trạng yêu cầu .338 23.2 Phân tích hướng đối tượng 345 23.3 Thiết kế hướng đối tượng 350 Tóm tắt Đề tài tập trung tìm hiểu tồn khái niệm liên quan đến ngơn ngữ C# Bởi C# Microsoft phát triển thành phần khung ứng dụng NET Framework hướng Internet nên đề tài bao gồm hai phần sau: Phần 1: Tìm hiểu ngơn ngữ C# Việc tìm hiểu bao gồm kiến thức tảng công nghệ NET Framework, chuẩn bị cho khái niệm liên quan C# NET Framework Sau tìm hiểu cú pháp ngơn ngữ này, bao gồm tồn tập lệnh, từ khóa, khái niệm lập trình hướng đối tượng theo C#, hỗ trợ lập trình hướng component Sau cách lập trình C# với ứng dụng Window cho máy để bàn C# với công nghệ đại ASP.NET ADO.NET, XML cho lập trình Web Phần 2: Xây dựng ứng dụng Phần báo cáo ứng dụng minh họa cho việc tìm hiểu Tên ứng dụng Xây dựng Website dạy học C# Đây ứng dụng Web cài đặt ngôn ngữ C# ASP.NET Trong ASP.NET dùng để xây dựng giao diện tương tác với người dùng; C# ngơn ngữ lập trình bên Ứng dụng có thao tác sở liệu (Microsoft SQL Server) thơng quan mơ hình ADO.NET Phần Tìm hiểu ngôn ngữ C# C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Chương C# Net Framework Mục tiêu C# cung cấp ngôn ngữ lập trình đơn giản, an tồn, đại, hướng đối tượng, đặt trọng tâm vào Internet, có khả thực thi cao cho môi trường NET C# ngôn ngữ mới, tích hợp tinh hoa ba thập kỷ phát triển ngôn ngữ lập trình Ta dể dàng thầy C# có đặc trưng quen thuộc Java, C++, Visual Basic, … Đề tài đặt trọng tâm giới thiệu ngôn ngữ C# cách dùng cơng cụ lập trình tảng NET Với ngơn ngữ C++, học 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 ứng dụng NET, lơ ý bỏ lỡ quan điểm ngơn ngữ Do đó, đề tài xét C# tập trung ngữ cảnh cụ thể tảng NET Microsoft ứng dụng máy tính để bàn ứng dụng Internet Chương trình bày chung hai phần ngôn ngữ C# tảng NET, bao gồm khung ứng dụng NET (.NET Framework) 1.1 Nền tảng NET Khi Microsoft công bố C# vào tháng năm 2000, việc khánh thành phần số nhiều kiện mà tảng Net công công bố Nền tảng Net bơ khung phát triển ứng dụng mới, cung cấp giao diện lập trình ứng dụng (Application Programming Interface - API) mẽ cho dịch vụ hệ điều hành Windows, cụ thể Windows 2000, mang lại nhiều kỹ thuật khác bật Microsoft suốt từ năm 90 Trong số có dịch vụ COM+, cơng nghệ ASP, XML thiết kế hướng đối tượng, hỗ trợ giao thức dịch vụ web SOAP, WSDL UDDL với trọng tâm Internet, tất tích hợp kiến trúc DNA Nền tảng NET bao gồm bốn nhóm sau: Một tập ngôn ngữ, bao gồm C# Visual Basic Net; tập công cụ phát triển bao gồm Visual Studio Net; tập đầy đủ thư viện phục vụ cho việc xây dựng ứng dụng web, dịch vụ web ứng dụng Windows; cịn có CLR - Common Language Runtime: (ngơn ngữ thực thi dùng chung) để thực thi đối tượng xây dựng bô khung C# Net Framework Stt Tên thuộc tính MAVD TENVIDU MANGUON KETQUA TAPTIN Gvhd: Nguyễn Tấn Trần Minh Khang Loại PK Kiểu liệu INT VARCHAR(100) VARCHAR(1000) Ý nghĩa Mã ví dụ Tên ví dụ Mã nguồn ví dụ VARCHAR(1000) Kết xuất mã ví dụ VARCHAR(50) Tên tập tin mơ tả chi tiết ví dụ Thuộc tính đối tượng : CÂU TRẮC NGHIỆM Stt Tên thuộc tính Loại Kiểu liệu MACAUTRACNGHIEM PK INT TEN NOIDUNG TRALOI1, TRALOI2, TRALOI3, TRALOI4 DAPAN Ý nghĩa Mã câu trắc nghiệm VARCHAR(500) Tên câu trắc nghiệm VARCHAR(1000) Nội dung câu trắc nghiệm VARCHAR(500) Một câu hỏi có câu trả lời, ứng với thuộc tính INT Đáp án câu hỏi, có giá trị : 1, 2, 3, 23.2.4 Các xử lý đối tượng Xử lý đối tượng : CHỦ ĐỀ Stt Tên xử lý Loại Ý nghĩa Hiển thị thông tin chủ Qui Hiển thị thông tin đề định thành phần chủ đề Thêm chủ đề Qui Dữ liệu nhập tên nội định dung Xóa chủ đề có sẵn Qui Xóa tồn thơng tin định chủ đề Sửa đổi thông tin chủ Qui Hiệu chỉnh tên, nội dung đề định chủ đề Kiểm tra hợp lệ việc thay Qui Kiểm tra ràng buộc 347 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang đổi chủ đề định Lập báo cáo, thống kê Qui định Xử lý đối tượng : CHƯƠNG Stt Tên xử lý Loại Hiển thị thông tin Qui chương định Thêm chương Xóa chương có sẵn Sửa đổi thơng tin chương Kiểm tra hợp lệ việc thay đổi chương Qui định Qui định Qui định Qui định Xử lý đối tượng : MỤC CHÍNH Stt Tên xử lý Loại Hiển thị thông tin mục Qui thuộc chương định Thêm mục Qui định Xóa mục có sẵn Qui định Sửa đổi thơng tin mục Qui định Kiểm tra hợp lệ việc thay đổi mục Qui định 348 tính hợp lệ thêm, xóa, sửa chủ đề Tổng kết tồn thơng tin số chương, ví dụ, câu trắc nghiệm Ý nghĩa Hiển thị danh sách tên chương theo chủ đề nội dung Dữ liệu nhập tên nội dung Xóa tồn thơng tin chương : mục chính, ý Hiệu chỉnh tên, nội dung chương Kiểm tra ràng buộc tính hợp lệ thêm, xóa, sửa Ý nghĩa Hiển thị danh sách ý mục Dữ liệu nhập tên, nội dung mục ý con, tên tập tin mơ tả mục cần thiết Xóa tồn thơng tin mục : ý chính, tên tập tin Hiệu chỉnh tên, nội dung nội dung mục ý cần thiết Kiểm tra ràng buộc tính hợp lệ thêm, xóa, C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang sửa Xử lý đối tượng : VÍ DỤ Stt Tên xử lý Hiển thị thơng tin ví dụ Loại Qui định Qui định Thêm ví dụ Xóa ví dụ có sẵn Qui định Sửa đổi thơng tin ví dụ Qui định Kiểm tra hợp lệ việc thay đổi ví dụ Qui định Ý nghĩa Hiển thị danh sách ví dụ chương Dữ liệu nhập tên, giới thiệu sơ ví dụ, mã nguồn, kết xuất tương ứng tên tập tin mơ tả ví dụ cần thiết Xóa tồn thơng tin ví dụ : tên, mã nguồn, kết xuất tên tập tin Hiệu chỉnh tên, giới thiệu ví dụ, mã nguồn, kết xuất tên tập tin có Kiểm tra ràng buộc tính hợp lệ thêm, xóa, sửa Xử lý đối tượng : CÂU TRẮC NGHIỆM Stt Tên xử lý Loại Ý nghĩa Hiển thị thông tin câu Qui Hiển thị danh sách câu trắc nghiệm thuộc chương định trắc nghiệm, câu trả lời đáp án tương ứng câu Thêm câu trắc nghiệm Qui Dữ liệu nhập tên, câu hỏi định trắc nghiệm, câu chọn lựa đáp án câu Xóa câu trắc nghiệm có Qui Xóa tồn thông tin sẵn định câu trắc nghiệm : tên, câu hỏi trắc nghiệm, câu chọn lựa đáp án câu Sửa đổi thông tin câu Qui Hiệu chỉnh tên, câu hỏi trắc trắc nghiệm định nghiệm, câu chọn lựa đáp án câu Kiểm tra hợp lệ việc thay Qui Kiểm tra ràng buộc đổi câu trắc nghiệm định tính hợp lệ thêm, xóa, sửa 349 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang 23.3 Thiết kế hướng đối tượng 23.3.1 Thiết kế liệu 23.3.1.1 Sơ đồ logic Hình 22-53 Sơ đồ logic 23.3.1.2 Bảng thuộc tính đối tượng phụ Thuộc tính đối tượng : THAM SỐ Stt Tên thuộc tính Loại Kiểu liệu MATHAMSO PK INT TEN VARCHAR(100) GIATRI INT DIENGIAI VARCHAR(100) Ý nghĩa Mã tham số Tên tham số Giá trị tham số Ý nghĩa tham số Thuộc tính đối tượng : NGƯỜI DÙNG Stt Tên thuộc tính Loại Kiểu liệu Ý nghĩa TENNGUOIDUNG PK VARCHAR(100) Tên người dùng MATMA VARCHAR(100) Mật mã EMAIL VARCHAR(100) Địa mail DIENTHOAI VARCHAR(100) Điện thoại FAX VARCHAR(100) Số fax 350 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang 23.3.2 Thiết kế giao diện 23.3.2.1 Tổng quan Sơ đồ hình Tổng quan lý thuết Lý thuyết theo chương Tổng quan Ví dụ Ví dụ theo chương Tổng quan Trắc nghiệm Trắc nghiệm theo chương Báo cáo Thống kê MÀN HÌNH CHÍNH Đăng nhập Quản trị Thơng báo lỗi Lý thuyết Ví dụ 351 Trắc nghiệm C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang 23.3.2.2 Một số giao diện ứng dụng Giao diện Hình 22-54 Trang chủ ứng dụng dạy học CSharp • 352 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện chi tiết lý thuyết chương Hình 22-55 Liệt kê chi tiết mục chính, ý chương số 353 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện tổng quan ví dụ Hình 22-56 Liệt kê tất ví dụ chương 354 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện mơ tả chi tiết ví dụ Hình 22-57 Minh họa lý thuyết mã ví dụ kết xuất 355 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện câu trắc nghiệm kiến thức Hình 22-58 Trắc nghiệm kiến thức chương số 356 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Kết làm trắc nghiệm Hình 22-59 Kết chấm điểm làm trắc nghiệm 357 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện hiệu chỉnh chủ đề Hình 22-60 Cho phép thêm, xóa sử chủ đề 358 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện tổng quan hiệu chỉnh nội dung chi tiết chủ đề Hình 22-61 Tổng quan hiệu chỉnh lý thuyết, ví dụ trắc nghiệm 359 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện hiệu chỉnh chi tiết nội dung lý thuyết chương Hình 22-62 Cho phép thêm, xóa sửa nội dung lý thuyết theo chương 360 C# Net Framework Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện hiệu chỉnh chi tiết Trắc nghiệm Hình 22-63 Giao diện thêm, xóa sửa câu trắc nghiệm 361 ... th? ?c thi, ngư? ?c lại “khối lệnh 2” th? ?c thi Một điểm kh? ?c biệt với C+ + biểu th? ?c câu lệnh if phải biểu th? ?c logic, biểu th? ?c số 3.5.2.2 Lệnh switch C? ? pháp: switch ( biểu_th? ?c_ lựa_chọn ) { case... nhiều tập tin kh? ?c 3.8 Chỉ thị tiền xử lý Không phải c? ?u lệnh biên dịch l? ?c mà c? ? số chúng biên dịch trư? ?c số kh? ?c C? ?c câu lệnh gọi thị tiền xử lý C? ?c thị tiền xử lý đặt sau dấu # 25 C# Net Framework... System; public class Cat { public Cat( ) { instances++; } public static void HowManyCats( ) { Console.WriteLine("{0} cats adopted", instances); } private static int instances = 0; } public class Tester

Ngày đăng: 09/08/2020, 20:35

Mục lục

  • Phần 1: Tìm hiểu về ngôn ngữ C#

  • Phần 2: Xây dựng một ứng dụng

  • Chương 1 C# và .Net Framework

    • 1.1 Nền tảng của .NET

    • 1.2 .NET Framework

    • 1.3 Biên dịch và ngôn ngữ trung gian (MSIL)

    • 1.4 Ngôn ngữ C#

    • Chương 2 Khởi đầu

      • 2.1 Lớp, đối tượng và kiểu

        • 2.1.1 Phương thức

        • 2.1.2 Các ghi chú

        • 2.1.3 Ứng dụng dạng console

        • 2.1.4 Namespaces - Vùng tên

        • 2.1.5 Toán tử chấm “.”

        • 2.1.6 Từ khoá using

        • 2.1.7 Phân biệt hoa thường

        • 2.1.8 Từ khoá static

        • 2.2 Phát triển “Hello World”

          • 2.2.1 Soạn thảo “Hello World”

          • 2.2.2 Biên dịch và chạy “Hello World”

          • 2.2.3 Trình gở rối của Visual Studio .Net

          • Chương 3 Những cơ sở của ngôn ngữ C#

            • 3.1 Các kiểu

              • 3.1.1 Loại dữ liệu định sẳn

                • 3.1.1.1 Chọn một kiểu định sẵn

                • 3.1.1.2 Chuyển đổi kiểu định sẳn

                • 3.2 Biến và hằng

                  • 3.2.1 Khởi tạo trước khi dùng

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

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

Tài liệu liên quan