Bài giảng lập trường hướng đối tượng: Giao diện (Interface)

Khái niệm: Interface là ràng buộc, giao ước đảm

bảo cho các lớp hay các cấu trúc sẽ thực hiện một

điều gì đó.

 Mục đích của một giao diện là để định nghĩa những

khả năng mà chúng ta muốn có trong một lớp.

 Một interface thì giống như một lớp chỉ chứa các

phương thức trừu tượng.

 Khi một lớp hay cấu trúc thực thi một interface, nó

phải thực thi tất cả các thành phần của interface

(thuộc tính, phương thức, sự kiện)

pdf20 trang | Chia sẻ: oanh_nt | Lượt xem: 1437 | Lượt tải: 0download
Nội dung tài liệu Bài giảng lập trường hướng đối tượng: Giao diện (Interface), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
06/09/11 16:02 1 CHƯƠNG 5 2Mục tiêu chương 5  Tác dụng của giao diện, khi nào sử dụng giao diện.  Cách thức xây dựng và truy cập một giao diện.  Cách thức thực thi giao diện.  Sử dụng các toán tử is, as. 3Nội dung  Giao diện  Thực thi giao diện 45.1. Giao diện  Khái niệm: Interface là ràng buộc, giao ước đảm bảo cho các lớp hay các cấu trúc sẽ thực hiện một điều gì đó.  Mục đích của một giao diện là để định nghĩa những khả năng mà chúng ta muốn có trong một lớp.  Một interface thì giống như một lớp chỉ chứa các phương thức trừu tượng.  Khi một lớp hay cấu trúc thực thi một interface, nó phải thực thi tất cả các thành phần của interface (thuộc tính, phương thức, sự kiện) 5Định nghĩa một giao diện (1) [thuộc tính] [phạm vi truy nhập] interface [: danh sách cơ sở] { }  Phạm vi truy nhập: public, private, protected, internal, protected internal  Tên của interface, nên bắt đầu bằng chữ “I”. 6Định nghĩa một giao diện (2)  Danh sách cơ sở: danh sách các interface mà nó mở rộng (extend)  Phần thân interface: các phương thức, các thuộc tính mà lớp thực thi cần cài đặt (Không xác định phạm vi truy nhập – mặc định là public) 7Khai báo thành phần trong interface  Phương thức Kieudulieu TenThuocTinh { [ get;] [ set;] } kieuDuLieu[void] TenPhuongThuc(khai báo các tham số);  Thuộc tính 8Ví dụ 9Thực thi giao diện  Khi xây dựng một lớp ta có thể kế thừa từ một lớp cơ sở và thực thi một hoặc nhiều interface.  Để thực thi interface Khai báo lớp: các interface  Lớp kế thừa một lớp cơ sở và thực thi nhiều giao diện thì lớp cơ sở đứng trước các giao diện, lớp cơ sở và giao diện ngăn cách nhau bởi dấu phẩy (,). 10 Ví dụ 11 Mở rộng interface  Có thể mở rộng interface để thêm các thuộc tính và phương thức mới interface Inewinterface : Ioldinterface { void AddNewMethod(); } 12 Kết hợp các interfaces  Có thể kết hợp các interfaces lại với nhau và thêm các phương thức, thuộc tính nếu cần interface Inewinterface : Iinterface1, Iinterface2 { void NewMethod(); } 13 Truy nhập các thành phần giao diện (1)  Có thể truy cập những thành viên của interface như thể là các thành viên của lớp. Tenlop biendoituong = new tenlop(các tham số); biendoituong. phuongthuc(); 14 Truy nhập các thành phần giao diện (2)  Không thể trực tiếp tạo thể hiện của interface, có thể tạo thể hiện của giao diện bằng cách gán đối tượng cho một kiểu dữ liệu interface, và sau đó sử dụng giao diện này để truy cập các phương thức.  Truy xuất thành phần của Interface theo hai bước (hoặc gộp cả hai bước) • Tạo đối tượng của một lớp thực thi interface • Ép kiểu đối tượng này thành thể hiện của interface 15 Truy nhập các thành phần giao diện (3) Ví dụ: Ta có class Document và interface IStorable (Show1) Document doc = new Document("Test Document"); IStorable isDoc = doc; isDoc.Show1(); 16 Toán tử is và as (1)  Không biết rõ một lớp thực thi những interface nào -> khi ép kiểu sang interface có thể phát sinh lỗi.  Muốn kiểm tra một đối tượng xem nó có hỗ trợ giao diện, để sau đó thực hiện các phương thức tương ứng. Trong ngôn ngữ C# có hai cách để thực hiện điều này. • Sử dụng toán tử is. • Sử dụng toán tử as. 17 Toán tử is và as (2)  Toán tử is trả về giá trị true nếu biểu thức thường là kiểu tham chiếu có thể được gán an toàn đến kiểu dữ liệu cần kiểm tra mà không phát sinh ra bất cứ ngoại lệ nào. is 18 Toán tử is và as (3)  Toán tử as kết hợp toán tử is và phép gán bằng cách đầu tiên kiểm tra hợp lệ phép gán (kiểm tra toán tử is trả về true) rồi sau đó phép gán được thực hiện. Nếu phép gán không hợp lệ (khi phép gán trả ề giá trị false), thì toán tử as trả về giá trị null. as 19  Một lớp khi thực thi các phương thức của interface có thể chuyển đổi phương thức đó thành dạng phương thức ảo.  Các lớp dẫn xuất từ lớp đó override phương thức ảo -> KỸ THUẬT ĐA HÌNH 20 Bài tập chương 5

Các file đính kèm theo tài liệu này:

  • pdflap_trinh_huong_doi_tuong_voi_net_c_chuong5.pdf
Tài liệu liên quan