tailieunhanh - Bài giảng Lập trình hướng đối tượng: Uỷ thác và sự kiện - Lê Viết Mẫn
Bài giảng "Lập trình hướng đối tượng: Uỷ thác và sự kiện" cung cấp cho người học các kiến thức: Cơ chế uỷ thác, kiểu delegate, tạo đối tượng và triệu gọi, ba bước sử dụng event, gửi thông báo event,. . | Bài giảng Lập trình hướng đối tượng: Uỷ thác và sự kiện - Lê Viết Mẫn Uỷ thác và sự kiện v - 11/2018 Lê Viết Mẫn - lvman@ 1 Uỷ thác và sự kiện Nội dung 1. Uỷ thác 2. Sự kiện Lê Viết Mẫn - lvman@ 2 Uỷ thác và sự kiện Uỷ thác Delegate Lê Viết Mẫn - lvman@ 3 Uỷ thác và sự kiện Cơ chế Uỷ thác • 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ế • Dịch vụ gọi báo thức • Lúc 2h sáng, gọi số điện thoại 0905xxxxxx để tôi dậy coi đá banh • Một Button Control trong lập trình Windows Form • Khi nút được nhấn, gọi hàm Click của Form để hiển thị chữ “Hello World” lên màn hình • Ví dụ: • Gồm 3 phần: • Hàm sẽ được gọi • Việc hàm đó sẽ làm • Sự kiện • Uỷ thác là cơ chế tạo ra các kiểu dữ liệu cho phép lưu giữ các hàm sẽ được gọi Lê Viết Mẫn - lvman@ 4 Uỷ thác và sự kiện Kiểu delegate • Windows API sử dụng con trỏ hàm để hỗ trợ cơ chế gọi ngược (callback mechanism) • Một hàm gọi lại một hàm khác • Có thể xử lý các sự kiện nhấn chuột, di chuyển chuột, • Trong .NET, delegate là một đối tượng an toàn kiểu, tham chiếu đến một hàm khác (hoặc danh sách các hàm) mà có thể được triệu gọi khi cần thiết • 3 bước sử dụng delegate: • Định nghĩa • Tạo đối tượng kiểu delegate, đăng ký hàm xử lý • Triệu gọi Lê Viết Mẫn - lvman@ 5 Uỷ thác và sự kiện Định nghĩa • Cú pháp khai báo nguyên mẫu hàm kèm với từ khoá delegate public delegate int BinaryOp(int x, int y); • delegate phải giống với nguyên mẫu hàm của các hàm mà nó sẽ trỏ tới • Kiểu delegate trên có thể trỏ đến bất kỳ hàm nào nhận vào 2 số nguyên và trả ra một số nguyên • .NET tự động tạo ra một lớp có tên là tên của delegate, và có 3 hàm: Invoke, BeginInvoke và EndInvoke Lê Viết Mẫn - lvman@ 6 Uỷ thác và sự kiện Tạo đối tượng và triệu gọi static int Add(int x, int y) { return x + y;
đang nạp các trang xem trước