Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
185,64 KB
Nội dung
Lập trình Windows Các vấn đề lập trình C# Các vấn đề cần nắm Kiểu liệu C# (kỹ thuật boxing unboxing) Cơ chế delegate (ủy quyền) Cơ chế event (sự kiện) Lập trình với Thread (tiểu trình) Nhập môn với winform Kiểu liệu C# C# là ngôn ngữ lập trình mạnh về kiểu dữ liệu Chia thành kiểu chủ yếu là: kiểu giá trị (value type, thông thường struct như: int, char,…) và kiểu tham chiếu (reference type, thông thường class như: string,…) Kiểu giá trị được lưu vùng nhớ Stack Kiểu tham chiếu được lưu vùng nhớ Heap (giá trị địa chỉ lưu Stack) Vùng nhớ Stack Heap Vùng nhớ Stack vùng lưu trữ liệu với kích thước cố định, riêng biệt cho chương trình Mọi liệu được lưu Stack bị loại bỏ hoàn thành phạm vi biến (hoàn tất phương thức, chương trình,…) Vùng nhớ Heap vùng lưu trữ liệu có kích thước thay đổi đồ sộ Dữ liệu Heap không bị loại bỏ biến tham chiếu đến hoàn thành phạm vi biến Boxing và Unboxing Boxing trình chuyển liệu từ kiểu tham trị sang kiểu tham chiếu Quá trình thực ngầm định Boxing và Unboxing Unboxing trình ngược lại với boxing, tức đưa từ kiểu tham chiếu kiểu tham trị Quá trình phải được thực tường minh (phải đảm bảo với kiểu liệu boxing) Delegate Delegate là kiểu liệu tham chiếu được dùng để đóng gói phương thức với tham số và kiểu trả xác định Gần giống trỏ hàm C++ hướng đối tượng, an toàn bảo mật Khai báo delegate namespace class Ví dụ: public delegate int CompareFunc(object obj1, object obj2); Delegate Sử dụng delegate để xác định phương thức lúc thực thi Cơ chế multicasting cho phép gọi hai hay nhiều phương thức thực thi thông qua ủy quyền đơn Mục đích là có ủy quyền gọi thực nhiều phương thức Để thực được kiểu trả delegate phải kiểu void Ví dụ: myMulticastDelegate = Writer + Logger; myMulticastDelegate += Transmitter; Event Event (sự kiện) hành động xảy trình chạy chương trình (gõ phím, click chuột, nhấn nút,…) được thông báo để được xử lý thích hợp Event biết trước xác xảy ra, điều quan trọng phải được xử lý thích hợp xảy Event Cơ chế publishing subscribing nghĩa đối tượng publish tập hợp event để lớp khác cần xử lý xảy đăng ký (subscribe) vào danh sách nhận lớp publish đưa kiện tất lớp đăng ký được nhận thông báo Event Trong NET chế event được thực thi với delegate Lớp publisher định nghĩa delegate và lớp subscriber phải thực thi Khi kiện xuất thì phương thức lớp subscriber được gọi thông qua delegate Một phương thức được dùng để xử lý kiện được gọi là trình xử lý kiện (event handler) Event Khai báo: public delegate void myEventHandler(); public event myEventHandler myEvent; public EventHandler myEvent; Thread Với sức mạnh CPU tác vụ thông thường (phép tính, di chuyển liệu,…) chỉ tiêu tốn lượng nhỏ tài nguyên CPU theo nguyên lý đơn nhiệm lại chiếm riêng nguyên CPU (tức chương trình hay tác vụ khác phải chờ) Thread (tiểu trình) khái niệm chế chương trình đa nhiệm, đại diện cho hay nhóm tác vụ Thread Trong chương trình đa nhiệm nhiều tiến trình chạy đồng thời để tận dụng triệt để tài nguyên CPU Giúp cho chương trình chạy mượt mà nhanh chóng [...]... myEvent; ho c public EventHandler myEvent; Thread Với s c mạnh c a CPU hiện nay thì hầu như c c t c vụ thông thường (phép tính, di chuyển dữ liệu,…) chỉ tiêu tốn một lượng nhỏ tài nguyên CPU nhưng nếu theo nguyên lý đơn nhiệm thì lại chiếm riêng nguyên CPU (t c là c c chương trình hay t c vụ kh c phải chờ) Thread (tiểu trình) là khái niệm trong c chế chương trình đa nhiệm, đại diện cho một hay... Trong NET c chế event đươ c th c thi với những delegate Lớp publisher định nghĩa một delegate và những lớp subscriber phải th c thi Khi một sự kiện xuất hiện thì phương th c của lớp subscriber đươ c gọi thông qua delegate Một phương th c đươ c dùng để xử lý c c sự kiện thì đươ c gọi là trình xử lý sự kiện (event handler) Event Khai báo: public delegate void myEventHandler(); public event... phải chờ) Thread (tiểu trình) là khái niệm trong c chế chương trình đa nhiệm, đại diện cho một hay một nhóm c c t c vụ con Thread Trong chương trình đa nhiệm thì nhiều tiến trình c thể chạy đồng thời để tận dụng triệt để tài nguyên CPU Giúp cho chương trình chạy mượt mà và nhanh chóng hơn