Danh mục

Lập trình Windows - Lập Trình C #- Lập Trình C Shap - Chương 5

Số trang: 57      Loại file: ppt      Dung lượng: 1.04 MB      Lượt xem: 8      Lượt tải: 0    
10.10.2023

Xem trước 6 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tham khảo tài liệu lập trình windows - lập trình c #- lập trình c shap - chương 5, công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Lập trình Windows - Lập Trình C #- Lập Trình C Shap - Chương 5 GenericsGenerics ̣Nôi dungNôi ̀ ̉ ́ ̣ An toan kiêu luc biên dich (compile time type safety) Overloaded methods Constraints Generic Classes and Structs Generic Interfaces Generic Methods Generic Delegates Generic Type Conversion Nullable Types 2 ̣ ̉ ̀Type Safety (đinh kiêu an toan)Type Cac ngôn ngữ .net (C#, C++, VB..) đêu là những ngôn ngữ ́ ̀  được đinh kiêu manh (strong type) phai khai bao biên rõ ̣ ̉ ̣ ̉ ́ ́ rang trước khi sử dung. ̀ ̣ Nhưng cac kiêu tâp hợp (collection) lai không được hỗ trợ ́ ̉ ̣ ̣  kiêu an toàn( Type safety). Ví dụ kiêu ArrayList, chung cho ̉ ̉ ́ phep ta lưu trữ tât cả cac object bên trong chung. ́ ́ ́ ́ 3Ví dụ về an toan kiêu ̀ ̉Vi namespace TestApp  { class Test { static void Main(string[] args) { ArrayList list = new ArrayList(); list.Add(3); list.Add(4); //list.Add(5.0); int total = 0; foreach(int val in list) { total = total + val; } Console.WriteLine( Total is {0}, total); } } } 4Type Safety of GenericsType Do ArrayList luôn cast moi thứ về lớp cơ sở Object, nên ̣ không có cach nao để kiêm tra kiêu ở thời gian biên ́ ̀ ̉ ̉ ̣ dich. Dung Generics sẽ loai trừ viêc upcast thanh Object và ̀ ̣ ̣ ̀ lam cho compiler có thể kiêm tra kiêu được. Nhờ đó có ̀ ̉ ̉ thể tao collection an toan kiêu ngay thời gian biên dich ̣ ̀ ̉ ̣ 55Compile-time type safetyCompile-time Phat hiên sai kiêu dữ liêu ở thời điêm biên dich ́ ̣ ̉ ̣ ̉ ̣ Ví dụ 1: nêu Stack được dung để lưu trữ giá trị int ́ ̀ , nêu push vao 1 string thì sẽ gây lôi (compile- ́ ̀ ̃ time error). Ví dụ 2: phương thức Sort chỉ có thể săp xêp cac ́ ́ ́ phân tử cung kiêu dữ liêu. ̀ ̀ ̉ ̣ Để bao đam compile-time type safety, phai tao ̉ ̉ ̣̉ cac version kiêu khac nhau cho lớp Stack cung ́ ̉ ́ ̃ như phương thức Sort  nhiêu ban copy chò ̉ ̀ ̃ cung 1 ma. 6GenericsGenerics Generics là 1 tinh chât mới cua C# ́ ́ ̉ Generic methods enable you to specify, with a single method declaration, a set of related methods. Generic classes enable you to specify, with a single class declaration, a set of related classes. Generic interfaces enable you to specify, with a single interface declaration, a set of related interfaces. Generics provide compile-time type safety. 7GenericGeneric ́ ̣ ̉ ̀ Generic cho phep đinh kiêu an toan (type safety). Cho phep tao ra môt câu truc dữ liêu mà không cân phai ́ ̣ ̣ ́ ́ ̣ ̀ ̉ xac đinh đó là kiêu dữ liêu gi. ́ ̣ ̉ ̣ ̀ Tuy nhiên khi câu truc dữ liêu nay được sử dung, trinh ́ ́ ̣ ̀ ̣ ̀ biên dich phai đam bao răng kiêu dữ liêu được sử dung ̣ ̉ ̉ ̉ ̀ ̉ ̣ ̣ với nó là kiêu an toan. Generic cung tương đương vơi ̉ ̀ ̃ Template trong C++ tuy nhiên viêc sử dung Generic ̣ ̣ trong .net dễ da ...

Tài liệu được xem nhiều: