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
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 ...
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ìm kiếm theo từ khóa liên quan:
Lập trình Windows Lập Trình C # Lập Trình C Shap kỹ thuật lập trình tài liệu lập trìnhGợi ý tài liệu liên quan:
-
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 256 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 200 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 188 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 174 0 0 -
bảo mật mạng các phương thức giả mạo địa chỉ IP fake IP
13 trang 157 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 157 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 150 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 125 0 0 -
Bài giảng lập trình c căn bản - Trường Apptech - Chương 4
27 trang 117 0 0 -
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 117 0 0