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;

Không thể tạo bản xem trước, hãy bấm tải xuống
TỪ KHÓA LIÊN QUAN
TÀI LIỆU MỚI ĐĂNG
Đã 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.