Khái niệm cơ bản C# Trần Anh Tuấn A
Nội dung
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 Cấu trúc Giao diện Array , Indexer , và Collection Chuỗi Xử lý lỗi & exception (biệt lệ) Delegate và Event
Giới thiệu C#
Được phát triển bởi đội ngũ kỹ sư của Microsoft. Dẫn đầu là : Anders Hejlsberg và Scott Wiltamuth C# là một ngôn ngữ :
Đơn giản Hiện đại Hướng đối tượng Mạnh mẽ & Mềm dẻo Ít từ khoá
Giới thiệu C#
C# là một ngôn ngữ đơn giản :
Loại bỏ những phức tạp có trong Java hay C++ như macro , template , đa kế thừa , virtual base class Giống về diện mạo cú pháp C và C++ nhưng được cải tiến đơn giản hơn (Ví dụ : “:: , . , ” chỉ còn “.”
C# là một ngôn ngữ hiện đại :
Có đầy đủ các tính năng : Xử lý ngoại lệ , thu gom bộ nhớ tự động , kiểu dữ liệu an toàn, bảo mật mã nguồn…
Giới thiệu C#
C# là ngôn ngữ hướng đối tượng :
Đóng gói (encapsulation) Kế thừa (inheritance) Đa hình (polymorphism)
C# là một ngôn ngữ mạnh mẽ và mềm dẻo :
Tuỳ thuộc vào bản thân người dùng. Không có giới hạn ở bản chất ngôn ngữ. Tạo các ứng dụng đồ hoạ, bàn tính, xử lý văn bản, trình biên dịch cho các ngôn ngữ khác v.v…
Giới thiệu C#
C# có ít từ khoá :
Những cơ sở ngôn ngữ C#
Các ghi chú : // (1 dòng) , /* (nhiều dòng) */ #region : Từ khoá using : giúp sử dụng lớp có sẵn của không gian tên nào đó tiện lợi hơn
VD : using System.IO; Từ đó sử dụng được các lớp làm việc với luồng dữ 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 cơ sở ngôn ngữ C#
Phân biệt chữ hoa chữ thường Có cá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 cả các phần tử của mảng , tập hợp VD : int[] intarray; intarray = new int[5]; foreach(int i in intarray) Console.WriteLine(i.ToString());
Những cơ sở ngôn ngữ C#
Tạo vùng tên (namespace)
Lớp và đối tượng
Khai báo , tạo dựng và sử dụng lớp
Lớp và đối tượng Phương thức thiết lập (Constructor) Phương thức thiết lập sao chép Phương thức huỷ Sử dụng using ( hàm huỷ tự đông gọi trong thời gian sớm nhất)
Lớp và đối tượng
Tham chiếu
Trong lớp Time
Sử dụng
Lớp và đối tượng
Đóng gói dữ liệu với Property
Lớp người có chuỗi m_sHoten Cài đặt Property 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 kiểu giá trị thành kiểu Object UnBoxing : Trả kết quả một đối tượng về giá trị
Cấu Trúc Cách dùng : Location loc = new Location(200,300); Console.WriteLine(“KQ = {0}”, loc );
Giao diện
Tạo một 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 xem đối tượng có được hỗ trợ giao diện hay không (VD doc is IStorable) Toán tử as : Kiểm tra và gán
Array , Indexer , và Collection
Array :
Sử dụng lớp System.Array (sẽ được hỗ trợ rất nhiều các tính năng khác như :copy , sort , inverse…)
Indexer : tương tự như Property nhưng là lấy theo index
Cách dùng :
Array , Indexer , và Collection
.Net Framework cung cấp một số giao diện chuẩn sau :
Chuỗi
Khai báo :
ToString() : chuyển mọi kiểu về 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 con : s.Substring(begin,end); Thay thế : 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 bản sao 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 các thông tin về sự cố bất thường của chương trình Phân biệt bug , error , và exception Chương trình dù đã không còn bug hay error vẫn có thể cho ra các exception ( truy cập , bộ nhớ ) Có thể dùng các đối tượng exception có sẵn , tự tạo exception , hay bắt exception trong 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 và Event
Delegate ( ủy thác , ủy quyền ) : giúp giải quyết vấn đề muốn thực thi một phương thức nào đó của một đối tượng nào đó nhưng người lập trình có thể 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 và Event
Event : Ứng với mỗi thao tác người dùng sẽ có một sự kiện phát sinh , và chương trình sẽ phải đáp trả cho mỗi sự kiện này. Khái niệm Publishing và Subcribing
Publishing : Một lớp phát sinh sự kiện Subscribing : Các lớp được subscribe sẽ nhận thông báo về sự kiện phát sinh , và thực thi
Event trong C# sẽ được cài đặt bằng delegate. Lớp publish định nghĩa một delegate. Khi một sự kiện phát sinh phương thức của lớp subscribe sẽ được gọi thông qua delegate
Delegate và Event
Bài sau Window Form
Giới thiệu về Window Form Giới thiệu về các 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, sao chép, huỷ các file và folder Đọc và ghi văn bản trong các file