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

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ả | Generics Nội dung An toàn kiểu lúc biên dịch (compile time type safety) Overloaded methods Constraints Generic Classes and Structs Generic Interfaces Generic Methods Generic Delegates Generic Type Conversion Nullable Types Type Safety (định kiểu an toàn) Các ngôn ngữ .net (C#, C++, VB) đều là những ngôn ngữ được định kiểu mạnh (strong type) phải khai báo biến rõ ràng trước khi sử dụng. Nhưng các kiểu tập hợp (collection) lại không được hỗ trợ kiểu an toàn( Type safety). Ví dụ kiểu ArrayList, chúng cho phép ta lưu trữ tất cả các object bên trong chúng. Page 1154 Deitel Ví dụ về an toàn kiểu namespace TestApp { class Test { static void Main(string[] args) { ArrayList list = new ArrayList(); (3); (4); //(); int total = 0; foreach(int val in list) { total = total + val; } ( "Total is {0}", total); } } } Type Safety of Generics Do ArrayList luôn cast mọi thứ về lớp cơ sở Object, nên không có cách nào để kiểm tra kiểu ở thời gian biên dịch. Dùng Generics sẽ loại trừ việc upcast thành Object và làm cho compiler có thể kiểm tra kiểu được. Nhờ đó có thể tạo collection an toàn kiểu ngay thời gian biên dịch Compile-time type safety Phát hiện sai kiểu dữ liệu ở thời điểm biên dịch Ví dụ 1: nếu Stack được dùng để lưu trữ giá trị int , nếu push vào 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 các phần tử cùng kiểu dữ liệu. Để bảo đảm compile-time type safety, phải tạo các version kiểu khác nhau cho lớp Stack cũng như phương thức Sort nhiều bản copy cho cùng 1 mã. Page 1154 Deitel Generics Generics là 1 tính chất mới của C# Generic methods enable you to specify, with a

TỪ KHÓA LIÊN QUAN
TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.