UDPM-CĐ-MĐ11-LTCSCB TUYÊN BỐ BẢN QUYỀN Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và tham khảo. Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh doanh thiếu lành mạnh sẽ bị nghiêm cấm. 1 LỜI GIỚI THIỆU Đây là tài liệu được biên soạn theo chương trình đào tạo Cao đẳng nghề Công nghệ thông tin (ứng dụng phần mềm). Để học tốt môn học này, người học nên có kiến thức về lập trình căn bản.
Lập trình Windows 2 là một mô đun nhằm giúp người học có kiến thức và kỹ năng lập trình cơ sở trên môi trường Windows. Với phạm vi của tài liệu này, chúng tôi cung cấp cho người học các kiến thức và kỹ năng chính sau: Cài đặt và sử dụng được với môi trường C# trên bộ Visual Studio.Net 2010 trở lên; Khai báo được lớp đối tượng, các thành phần của lớp đối tượng và sử dụng được lớp đối tượng trên ngôn ngữ C#; Cài đặt và xây dựng được chương trình theo phương pháp hướng đối tượng trên một ngôn ngữ lập trình C#; Xây dựng các ứng dụng Windows Forms đơn giản kết nối đến cơ sở dữ liệu; Nghiêm túc, tỉ mỉ trong quá trình tiếp cận với công cụ mới; Chủ động sáng tạo tìm kiếm các ứng dụng viết trên C#. Trong quá trình biên soạn, chúng tôi có tham khảo nhiều nguồn tài liệu khác nhau và từ nguồn Internet. Mặc dù rất cố gắng biên soạn lại nhưng chắc chắn không tránh khỏi những thiếu sót, tác giả rất mong nhận được những ý kiến đóng góp để tài liệu ngày càng hoàn thiện hơn để cung cấp cho người học những kiến thức và kỹ năng trọng tâm.
Cần Thơ, ngày tháng năm 20 Tham gia biên soạn 1. Chủ biên Nguyễn Phát Minh 2 MỤC LỤC TRANG LỜI GIỚI THIỆU. 2 GIÁO TRÌNH MÔN HỌC/MÔ ĐUN. 6 BÀI 1: CƠ BẢN VỀ C#.
Tại sao phải sử dụng C#. Kiểu dữ liệu. Biến và hằng. Cách chỉ dẫn và biên dịch.
33 BÀI 2: XÂY DỰNG LỚP ĐỐI TƯỢNG. Lớp và đối tượng. Sử dụng các thành viên static. Huỷ đối tượng.
Truyền tham số và nạp chồng phương thức. Đóng gói dữ liệu với thuộc tính. 52 BÀI 3: KẾ THỪA – ĐA HÌNH. Sự kế thừa.
Thực thi kế thừa. Gọi phương thức khởi dựng của lớp cơ sở. Gọi phương thức của lớp cơ sở. Điều khiển truy xuất.
Phương thức đa hình. Lớp trừu tượng. Các lớp lồng nhau. 67 BÀI 4: NẠP CHỒNG TOÁN TỬ.
Sử dụng từ khóa operator. Hỗ trợ ngôn ngữ. Sử dụng toán tử. Toán tử so sánh bằng.
Toán tử chuyển đổi. 74 BÀI 5: CẤU TRÚC. Định nghĩa một cấu trúc. Tạo cấu trúc .Cấu trúc là một kiểu giá trị.
Gọi bộ khởi dựng mặc định. Tạo cấu trúc không gọi new. 81 BÀI 6: MẢNG, CHỈ MỤC, TẬP HỢP. Giá trị mặc định.
Truy cập các thành phần trong mảng. Khởi tạo các thành phần trong mảng. Câu lệnh foreach. Bộ chỉ mục và giao diện tập hợp.
Danh sách mảng, hàng đợi, ngăn xếp. Kiểu từ điển. 111 BÀI 7: XỬ LÝ CHUỖI. Lớp đối tượng string.
Tạo một chuỗi. Tạo một chuỗi dùng phương thức ToString. Thao tác trên chuỗi. Thao tác trên chuỗi dùng StringBuilder.
Các biểu thức quy tắc. 125 TÀI LIỆU THAM KHẢO. 134 5 GIÁO TRÌNH MÔN HỌC/MÔ ĐUN Tên môn học/mô đun: Lập trình C# căn bản Mã môn học/mô đun: MĐ 11 Vị trí, tính chất, ý nghĩa và vai trò của môn học/mô đun: Vị trí: là mô đun được bố trí giảng dạy sau các môn cơ sở nghề. Tính chất: là mô đun bắt buộc thuộc chuyên môn nghề của chương trình đào tạo Cao đẳng (ứng dụng phần mềm).
Ý nghĩa và vai trò của môn học/mô đun: Lập trình C# căn bản là môn học cơ bản để sinh viên tìm hiểu về lập trình để làm nền tảng học các môn chuyên sâu về lập trình sau này Mục tiêu của môn học/mô đun: - Về kiến thức: Hiểu được các kiến thức về nền tảng Microsoft. Biết các kiến thức và kỹ năng về lập trình hướng đối tượng trên C#. Có kiến thức và kỹ năng xử lý mảng, chuỗi; - Về kỹ năng: Tạo được các ứng dụng dạng console sử dụng ngôn ngữ C# trên môi trường .Net; - Về năng lực tự chủ và trách nhiệm: Nghiêm túc, tỉ mỉ trong việc tiếp nhận kiến thức. Chủ động, tích cực trong thực hành và tìm kiếm nguồn bài tập liên quan Nội dung của môn học/mô đun: Số Thời gian TT Tên các bài trong mô đun Tổng Lý Thực Kiểm tra* số thuyết hành, (LT hoặc Bài tập TH) 1.
Cơ bản về C# 8 4 4 C# là gì? Chương trình đầu tiên Các kiểu dữ liệu Biến & hằng số 2 Các lệnh có cấu trúc và vòng lặp 18 9 8 1 Các lệnh có cấu trúc Lệnh vòng lặp 3 Mảng, chỉ mục và tập hợp 18 9 8 1 Mảng Chỉ mục Tập hợp 4 Xử lý chuỗi 16 8 7 1 Lớp đối tượng string 6 Các biểu thức quy tắc Tổng cộng 60 30 27 3 7 BÀI 1: CƠ BẢN VỀ C# Mã bài: MĐ 11 - 02 Giới thiệu: Trong bài học này sinh viên sẽ được làm quen với ngôn ngữ lập trình phổ biến nhất hiện nay là C# Mục tiêu: Biết kiến thức và các chức năng tiên tiến trên C#; Hiểu về các kiểu dữ liệu dựng sẵn của C#; Hiểu được các cơ chế thực thi các biến, hằng và các biểu thức trên C#; Hiểu về khoảng trắng; Biết kiến thức về không gian tên (Namespace); Biết kiến thức về các toán tử; Biết kiến thức về chỉ dẫn biên dịch; Tạo và thực thi được ứng dụng đơn giản trên C#; Nghiêm túc, tỉ mỉ trong học lý thuyết và làm bài tập Nội dung chính: 1. Tại sao phải sử dụng C# Nhiều người tin rằng không cần thiết có một ngôn ngữ lập trình mới. Java, C++, Perl, Microsoft Visual Basic, và những ngôn ngữ khác được nghĩ rằng đã cung cấp tất cả những chức năng cần thiết. Ngôn ngữ C# là một ngôn ngữ được dẫn xuất từ C và C++, nhưng nó được tạo từ nền tảng phát triển hơn.
Microsoft bắt đầu với công việc trong C và C++ và thêm vào những đặc tính mới để làm cho ngôn ngữ này dễ sử dụng hơn. Nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java. Không dừng lại ở đó, Microsoft đưa ra một số mục đích khi xây dựng ngôn ngữ này. Những mục đích này được được tóm tắt như sau: • C# là ngôn ngữ đơn giản • C# là ngôn ngữ hiện đại • C# là ngôn ngữ hướng đối tượng • C# là ngôn ngữ mạnh mẽ và mềm dẻo • C# là ngôn ngữ có ít từ khóa • C# là ngôn ngữ hướng module • C# sẽ trở nên phổ biến 2.
Kiểu dữ liệu Như chúng ta đã biết C# là một ngôn ngữ hướng đối tượng rất mạnh, và công việc của người lập trình là kế thừa để tạo và khai thác các đối tượng. Do vậy để nắm vững và phát triển tốt người lập trình cần phải đi từ những bước đi dầu tiên tức là đi vào tìm hiểu những phần cơ bản và cốt lõi nhất của ngôn ngữ. Kiểu dữ liệu C# là ngôn ngữ lập trình mạnh về kiểu dữ liệu, một ngôn ngữ mạnh về kiểu dữ liệu là phải khai báo kiểu của mỗi đối tượng khi tạo (kiểu số nguyên, số thực, kiểu chuỗi, kiểu điều khiển.) và trình biên dịch sẽ giúp cho người lập trình không bị lỗi khi chỉ cho phép một loại kiểu dữ liệu có thể được gán cho các kiểu dữ liệu khác. Kiểu dữ liệu của một đối tượng là một tín hiệu để trình biên dịch nhận biết kích thước của một đối tượng 8 (kiểu int có kích thước là 4 byte) và khả năng của nó (như một đối tượng button có thể vẽ, phản ứng khi nhấn,.
Tương tự như C++ hay Java, C# chia thành hai tập hợp kiểu dữ liệu chính: Kiểu xây dựng sẵn (built- in) mà ngôn ngữ cung cấp cho người lập trình và kiểu được người dùng định nghĩa (user-defined) do người lập trình tạo ra. C# phân tập hợp kiểu dữ liệu này thành hai loại: Kiểu dữ liệu giá trị (value) và kiểu dữ liệu tham chiếu (reference). Việc phân chi này do sự khác nhau khi lưu kiểu dữ liệu giá trị và kiểu dữ liệu tham chiếu trong bộ nhớ. Đối với một kiểu dữ liệu giá trị thì sẽ được lưu giữ kích thước thật trong bộ nhớ đã cấp phát là stack.
Trong khi đó thì địa chỉ của kiểu dữ liệu tham chiếu thì được lưu trong stack nhưng đối tượng thật sự thì lưu trong bộ nhớ heap. Nếu chúng ta có một đối tượng có kích thước rất lớn thì việc lưu giữ chúng trên bộ nhớ heap rất có ích, trong chương 4 sẽ trình bày những lợi ích và bất lợi khi làm việc với kiểu dữ liệu tham chiếu, còn trong chương này chỉ tập trung kiểu dữ kiểu cơ bản hay kiểu xây dựng sẵn. Tất cả các kiểu dữ liệu xây dựng sẵn là kiểu dữ liệu giá trị ngoại trừ các đối tượng và chuỗi. Và tất cả các kiểu do người dùng định nghĩa ngoại trừ kiểu cấu trúc đều là kiểu dữ liệu tham chiếu.
Ngoài ra C# cũng hỗ trợ một kiểu con trỏ C++, nhưng hiếm khi được sử dụng, và chỉ khi nào làm việc với những đoạn mã lệnh không được quản lý (unmanaged code). Mã lệnh không được quản lý là các lệnh được viết bên ngoài nền .NET, như là các đối tượng COM. Kiểu dữ liệu xây dựng sẵn Ngôn ngữ C# đưa ra các kiểu dữ liệu xây dựng sẵn rất hữu dụng, phù hợp với một ngôn ngữ lập trình hiện đại, mỗi kiểu dữ liệu được ánh xạ đến một kiểu dữ liệu được hỗ trợ bởi hệ thống xác nhận ngôn ngữ chung (Common Language Specification: CLS) trong MS. Việc ánh xạ các kiểu dữ liệu nguyên thuỷ của C# đến các kiểu dữ liệu của .NET sẽ đảm bảo các đối tượng được tạo ra trong C# có thể được sử dụng đồng thời với các đối tượng được tạo bởi bất cứ ngôn ngữ khác được biên dịch bởi .NET, như VB.
Mỗi kiểu dữ liệu có một sự xác nhận và kích thước không thay đổi, không giống như C++, int trong C# luôn có kích thước là 4 byte bởi vì nó được ánh xạ từ kiểu Int32 trong .