1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU NGÔN NGỮ C VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA

281 29 0

Đ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 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 2019 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 2019 Lời cám ơn Để hồ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 2019 Sinh viên 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# Chương C# Net Framework 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” Chương Những sở ngôn ngữ C# 12 3.1 Các kiểu 12 3.2 Biến 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 Lớp đố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 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 hàm dựng 32 4.7 Đóng gói liệu với property 33 Chương Thừa kế Đa hình 35 5.1 Đặc biệt hoá 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 tất lớp: Object 39 5.6 Kiểu Boxing Unboxing 40 5.7 Lớp lồng 42 Chương Nạp chồng toán tử 44 6.1 Cách dùng từ khoá operator 44 6.2 Cách hổ trợ ngôn ngữ Net khác 44 6.3 Sự hữu ích tốn tử 44 6.4 Các tốn tử logic hai ngơi 45 6.5 Toán tử so sánh 45 6.6 Toán tử chuyển đổi kiểu (ép kiểu) 45 Chương 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 Giao diện 50 8.1 Cài đặt giao diện 50 8.2 Truy xuất phương thức giao diện 52 8.3 Nạp chồng phần cài đặt giao diện 54 8.4 Thực giao diện cách tường minh 55 Chương 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 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 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 83 Chương 12 Delegate 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 liệu với ADO.NET 144 14.1 Cơ sở liệu ngôn ngữ truy vấn SQL 144 14.2 Một số loại kết nối 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 liệu (.NET Data Providers) 148 14.6 Khởi với ADO.NET 148 14.7 Sử dụng trình cung cấp liệu quản lý 151 14.8 Làm việc với điều khiển kết buộc liệu 152 14.9 Thay đổi ghi sở liệu 161 Chương 15 Ứng dụng Web với Web Forms 173 1.1 Tìm hiểu Web Forms 173 15.1 Các kiện 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 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 (Versioning) 196 17.5 Manifest 196 17.6 Đa Module Assembly 197 17.7 Assembly nội (private assembly) 198 17.8 Assembly chia sẻ (shared assembly) 198 Chương 18 Attributes Reflection 200 18.1 Attributes 200 18.2 Attribute mặc định (intrinsic attributes) 200 18.3 Attribute lập trình viên tạo 201 18.4 Reflection 203 Chương 19 Marshaling Remoting 204 19.1 Miền Ứng Dụng (Application Domains) 204 19.2 Context 206 19.3 Remoting 208 Chương 20 Thread Sự Đồng Bộ 215 20.1 Thread 215 20.2 Đồng hóa (Synchronization) 216 20.3 Race condition DeadLock 221 Chương 21 Luồng liệu 223 21.1 Tập tin thư mục 223 21.2 Đọc ghi liệu 230 21.3 Bất đồng nhập xuất 235 21.4 Serialization 238 21.5 Isolate Storage 244 Chương 22 Lập trình NET COM 246 22.1 P/Invoke 246 22.2 Con trỏ 248 Phần Xây dựng ứ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 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 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 đượ c dùng để xây dựng giao diện tươ ng tác với ngườ i dùng; cịn 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 C# cung cấ p ngơn ngữ lập trình đơn giản, an toà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à nề n 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ệ ề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 Một tập Server Xí nghiệp Net SQL Server 2000 Exchange 2000, BizTalk 2000, … chúng cung cấp chức cho việc lưu trữ liệu quan hệ, thư điện tử, thương mại điện tử B2B, … Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang TEN NOIDUNG SOCHUONG TENTP VARCHAR(50) VARCHAR(1000) INT VARCHAR(50) NOIDUNGTP VARCHAR(500) Thuộc tính đối tượng : CHƯƠNG Stt Tên thuộc tính Loại MACHUONG PK Kiểu liệu INT VARCHAR(50) VARCHAR(1000) INT TEN NOIDUNG SOMUCCHINH Thuộc tính đối tượng : MỤC CHÍNH Stt Tên thuộc tính Loại MAMUCCHINH PK TENMC GIOITHIEUMC Kiểu liệu INT VARCHAR(100) VARCHAR(2000) TAPTIN VARCHAR(50) NOIDUNGCTMC VARCHAR(1000) Thuộc tính đối tượng : VÍ DỤ Stt Tên thuộc tính Loại MAVD PK TENVIDU MANGUON KETQUA TAPTIN Kiểu liệu INT VARCHAR(100) VARCHAR(1000) VARCHAR(1000) VARCHAR(50) 259 Tên chủ đề Nội dung chủ đề Số chương có chủ đề Tên thành phần : Lý thuyết, Vì dụ, Trắc nghiệm, Quản trị Nội dung tổng quan thành phần thuộc chủ đề Ý nghĩa Mỗi chương có mã Tên chương Nội dung chương Số mục chương Ý nghĩa Mã mục Tên mục Giới thiệu tổng quan tổng quan mục Tên tập tin mơ tả chi tiết mục có Nội dung ý thuộc mục Ý nghĩa Mã ví dụ Tên ví dụ Mã nguồn ví dụ Kết xuất mã ví dụ Tên tập tin mơ tả chi tiết ví dụ Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Thuộc tính đối tượng : CÂU TRẮC NGHIỆM Stt Tên thuộc tính MACAUTRACNGHIEM Loại PK Kiểu liệu INT TEN VARCHAR(500) NOIDUNG VARCHAR(1000) TRALOI1, TRALOI2, TRALOI3, TRALOI4 VARCHAR(500) DAPAN INT Ý nghĩa Mã câu trắc nghiệm Tên câu trắc nghiệm Nội dung câu trắc nghiệm Một câu hỏi có câu trả lời, ứng với thuộc tính Đáp án câu hỏi, có giá trị : 1, 2,3,4 23.2.4 Các xử lý đối tượng Xử lý đối tượng : CHỦ ĐỀ Stt Tên xử lý Hiển thị thông tin chủ đề Loại Qui định Thêm chủ đề Xóa chủ đề có sẵn Sửa đổi thơng tin chủ đề Kiểm tra hợp lệ việc thay đổi chủ đề Lập báo cáo, thống kê Qui định Qui định Qui định Qui định Qui định Xử lý đối tượng : CHƯƠNG Stt Tên xử lý Hiển thị thông tin chương Loại Qui định Thêm chương Xóa chương có sẵn Qui định Qui định Sửa đổi thông tin chương Kiểm tra hợp lệ việc thay đổi chương Qui định Qui định 260 Ý nghĩa Hiển thị thông tin thành phần chủ đề Dữ liệu nhập tên nội dung Xóa tồn thơng tin chủ đề Hiệu chỉnh tên, nội dung chủ đề Kiểm tra ràng buộc 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 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Xử lý đối tượng : MỤC CHÍNH Stt Loại Qui định Tên xử lý Hiển thị thơng tin mục thuộc chương Thêm mục 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 Qui định Xử lý đối tượng : VÍ DỤ Stt Tên xử lý Hiển thị thơng tin ví dụ Loại Qui định Thêm ví dụ Qui định 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 Xử lý đối tượng : CÂU TRẮC NGHIỆM Stt Tên xử lý Loại Hiển thị thông tin câu trắc Qui định nghiệm thuộc chương Thêm câu trắc nghiệm Qui định 261 Ý 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, sửa Ý 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 Ý nghĩa Hiển thị danh sách câu trắc nghiệm, câu trả lời đáp án tương ứng câu Dữ liệu nhập tên, câu hỏi trắc Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Xóa câu trắc nghiệm có sẵn Qui định Sửa đổi thơng tin câu trắc nghiệm Kiểm tra hợp lệ việc thay đổi câu trắc nghiệm Qui định Qui định nghiệm, câu chọn lựa đáp án câu Xóa tồn thơng tin 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 Hiệu chỉnh tên, câu hỏi trắc nghiệm, câu chọn lựa đáp án câu Kiểm tra ràng buộc tính hợp lệ thêm, xóa, sửa 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 23-7 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 MATHAMSO TEN GIATRI DIENGIAI Loại PK Thuộc tính đối tượng : NGƯỜI DÙNG Stt Tên thuộc tính Loại 262 Kiểu liệu INT VARCHAR(100) INT VARCHAR(100) Ý nghĩa Mã tham số Tên tham số Giá trị tham số Ý nghĩa tham số Kiểu liệu Ý nghĩa Website dạy học ngôn ngữ C# TENNGUOIDUNG MATMA EMAIL DIENTHOAI FAX Gvhd: Nguyễn Tấn Trần Minh Khang PK VARCHAR(100) VARCHAR(100) VARCHAR(100) VARCHAR(100) VARCHAR(100) Tên người dùng Mật mã Địa mail Điện thoại Số fax 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ụ 263 Trắc nghiệm Website dạy học ngôn ngữ C# 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 23-8 Trang chủ ứng dụng dạy học CSharp • 264 Website dạy học ngơn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện chi tiết lý thuyết chương Hình 23-9 Liệt kê chi tiết mục chính, ý chương số 265 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện tổng quan ví dụ Hình 23-10 Liệt kê tất ví dụ chương 266 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện mô tả chi tiết ví dụ Hình 23-11 Minh họa lý thuyết mã ví dụ kết xuất 267 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện câu trắc nghiệm kiến thức Hình 23-12 Trắc nghiệm kiến thức chương số 268 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Kết làm trắc nghiệm Hình 23-13 Kết chấm điểm làm trắc nghiệm 269 Website dạy học ngôn ngữ C# Gvhd: Nguyễn Tấn Trần Minh Khang Giao diện hiệu chỉnh chủ đề Hình 23-14 Cho phép thêm, xóa sử chủ đề 270 Website dạy học ngôn ngữ C# 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 23-15 Tổng quan hiệu chỉnh lý thuyết, ví dụ trắc nghiệm 271 Website dạy học ngôn ngữ C# 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 23-16 Cho phép thêm, xóa sửa nội dung lý thuyết theo chương 272 Website dạy học ngôn ngữ C# 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 23-17 Giao diện thêm, xóa sửa câu trắc nghiệm 273 ... 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 đượ c dùng để... 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 2019 Lời cám ơn Để hồn tất đồ án này,... 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

Ngày đăng: 27/08/2020, 16:25

Xem thêm:

TỪ KHÓA LIÊN QUAN

w