Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
100,69 KB
Nội dung
06/09/11 16:02 1 CHƯƠNG 5 2 Mụ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. 3 Nội dung Giao diện Thực thi giao diện 4 5.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 <tên interface> [: danh sách cơ sở] { <phần thân interface> } 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) 7 Khai 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 8 Ví dụ 9 Thự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ụ [...]... interface 14 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.Show 1() ; 15 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... AddNewMethod(); } 11 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(); } 12 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(); 13 Truy... tenlop(các tham s ); biendoituong phuongthuc(); 13 Truy nh p các thành ph n giao di n (2 ) Không th t o th hi cho m t ki di n này đ tr c ti p t o th hi n c a interface, có th n c a giao di n b ng cách gán đ i tư ng u d li u interface, và sau đó s d ng giao 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... 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 16 Toán t is và as (2 ) is is tr v giá tr true n u bi u th c thư ng tham chi u có th đư c gán an toàn đ n li u c n ki m tra mà không phát sinh ra b t i l nào 17 Toán t is và as (3 ) as as k t h p toán t is... toán t th c hi gán tr null li u> as k t h p toán t is và phép u tiên ki m tra h p l phép gán is tr v true) r i sau đó phép n N u phép gán không h p l giá tr false), thì toán t as tr gán b ng (ki m tra gán đư c (khi phép v giá tr 18 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 . 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. 3 Nội dung Giao diện Thực thi giao diện 4 5.1 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ể. 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