Dưới đây là bài giảng Lập trình .NET: Bài 2 của Trần Anh Tuấn A. Mời các bạn tham khảo bài giảng để hiểu rõ hơn về khái niệm cơ bản C# với những nội dung cơ bản như giới thiệu C#; chủ đề nâng cao trong C# (những cơ sở ngôn ngữ C#, lớp và đối tượng, thừa kế và đa hình,...).
Khái niệm C# Trần Anh Tuấn A Nội dung Giới thiệu C# Chủ đề nâng cao C# Những sở ngôn ngữ C# Lớp đối tượng Thừa kế đa hình Cấu trúc Giao diện Array , Indexer , Collection Chuỗi Xử lý lỗi & exception (biệt lệ) Delegate Event Giới thiệu C# Được phát triển đội ngũ kỹ sư Microsoft Dẫn đầu : Anders Hejlsberg Scott Wiltamuth C# ngôn ngữ : Đơn giản Hiện đại Hướng đối tượng Mạnh mẽ & Mềm dẻo Ít từ khố Giới thiệu C# C# ngôn ngữ đơn giản : Loại bỏ phức tạp có Java hay C++ macro , template , đa kế thừa , virtual base class Giống diện mạo cú pháp C C++ cải tiến đơn giản (Ví dụ : “:: , , ” cịn “.” C# ngôn ngữ đại : Có đầy đủ tính : Xử lý ngoại lệ , thu gom nhớ tự động , kiểu liệu an toàn, bảo mật mã nguồn… Giới thiệu C# C# ngôn ngữ hướng đối tượng : Đóng gói (encapsulation) Kế thừa (inheritance) Đa hình (polymorphism) C# ngơn ngữ mạnh mẽ mềm dẻo : Tuỳ thuộc vào thân người dùng Khơng có giới hạn chất ngơn ngữ Tạo ứng dụng đồ hoạ, bàn tính, xử lý văn bản, trình biên dịch cho ngơn ngữ khác v.v… Giới thiệu C# C# có từ khố : Những sở ngơn ngữ C# Các ghi : // (1 dòng) , /* (nhiều dịng) */ #region : Từ khố using : giúp sử dụng lớp có sẵn khơng gian tên tiện lợi VD : using System.IO; Từ sử dụng lớp làm việc với luồng liệu , tập tin , thư mục ổ đĩa v.v… Ứng dụng dạng console: Nhập : string sInput ; sInput = System.Console.ReadLine(); (chuyển kiểu : System.Convert.To????(sInput) ) Xuất : System.Console.WriteLine(“KQ = {0}”, sInput); Những sở ngôn ngữ C# Phân biệt chữ hoa chữ thường Có kiểu : Dựng sẵn : byte , char , sbyte , int , float , double… Hằng : const int PI = 3.1416; Liệt kê : enum Ngay {Hai,Ba,Tu,Nam,Sau,Bay,CN}; Câu lệnh : if else , switch , for , while , goto foreach : vòng lặp để duyệt tất phần tử mảng , tập hợp VD : int[] intarray; intarray = new int[5]; foreach(int i in intarray) Console.WriteLine(i.ToString()); Những sở ngôn ngữ C# Tạo vùng tên (namespace) Lớp đối tượng Khai báo , tạo dựng sử dụng lớp Array , Indexer , Collection Array : Sử dụng lớp System.Array (sẽ hỗ trợ nhiều tính khác :copy , sort , inverse…) Indexer : tương tự Property lấy theo index Cách dùng : Array , Indexer , Collection Net Framework cung cấp số giao diện chuẩn sau : Chuỗi Khai báo : ToString() : chuyển kiểu string (Object) Ghép chuỗi : “+” (VD : string s = b + “,” +c;) Lấy ký tự thứ i: s[i]; Lấy chiều dài : s.length Chuỗi : s.Substring(begin,end); Thay : s.Replace( chuoi1 , chuoi2 ) Chuỗi Định dạng chuỗi Các thành viên lớp string Compare() so sánh hai chuỗi Copy() tạo Insert() chèn chuỗi Split() cắt chuỗi v.v… Trim(), TrimEnd(),TrimStart() ToUpper() , ToLower() v.v… Xử lý lỗi & exception (biệt lệ) Exception chứa thông tin cố bất thường chương trình Phân biệt bug , error , exception Chương trình dù khơng cịn bug hay error cho exception ( truy cập , nhớ ) Có thể dùng đối tượng exception có sẵn , tự tạo exception , hay bắt exception exception (trong trường hợp sửa lỗi ) Xử lý lỗi & exception (biệt lệ) Cấu trúc xử lý lỗi Xử lý lỗi & exception (biệt lệ) Đối tượng Exception : Tạo biệt lệ : Delegate Event Delegate ( ủy thác , ủy quyền ) : giúp giải vấn đề muốn thực thi phương thức đối tượng người lập trình chưa rõ lúc thiết kế Một delegate chứa tham chiếu tới hàm Cách khai báo Access Modifier delegate [void] DelegateName(…) Delegate Event Event : Ứng với thao tác người dùng có kiện phát sinh , chương trình phải đáp trả cho kiện Khái niệm Publishing Subcribing Publishing : Một lớp phát sinh kiện Subscribing : Các lớp subscribe nhận thông báo kiện phát sinh , thực thi Event C# cài đặt delegate Lớp publish định nghĩa delegate Khi kiện phát sinh phương thức lớp subscribe gọi thông qua delegate Delegate Event Bài sau Window Form Giới thiệu Window Form Giới thiệu control , hộp thoại menu , custom control Tác vụ File Quản lý thư mục ,tìm kiếm file , folder Di chuyển, chép, huỷ file folder Đọc ghi văn file ... HoTen Sử dụng Property Nguoi A = new Nguoi(); A. HoTen = “Tran Anh Tuan”; string tentoi = A. HoTen; Th? ?a Kế & ? ?a Hình Th? ?a kế : “:” Boxing & UnBoxing ? ?a Hình : “virtual” Boxing : chuyển đổi... tra xem đối tượng có hỗ trợ giao diện hay khơng (VD doc is IStorable) Tốn tử as : Kiểm tra gán Array , Indexer , Collection Array : Sử dụng lớp System.Array (sẽ hỗ trợ nhiều tính khác :copy... Location loc = new Location (20 0,300); Console.WriteLine(“KQ = {0}”, loc ); Giao diện Tạo giao diện Mở rông giao diện & Kết hợp giao diện Giao diện Cách sử dụng : Toán tử is : kiểm tra