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
197,14 KB
Nội dung
1 Interface (Giao Diện) Môn Lập Trình Hướng Đối Tượng – Chương Nguyễn Minh Thành [M] : Thanhnm@itc.edu.vn Nội Dung Định nghĩa giai diện Khai báo giao diện Thực thi nhiều giao diện Định Nghĩa • Giao diện dạng lớp trừu tượng, sử dụng nhằm hỗ trợ tính đa hình • Giao diện có nguyên mẫu phương thức thuộc tính, mục • Tất thành phần khai báo giao diện mặc định public (nên từ khóa mức độ truy cập khai báo thuộc tính phương thức) • Khi lớp kế thừa giao diện ta nói lớp thực thi (Implement) giao diện, phải cài đặt tất khai báo giao diện 4 Cú pháp [MứcĐộTruyCập] Interface TênGiaoDiện [: GiaoDiệnCơ Sở] { //Nội dung giao diện } • Trong đó: ▫ [MứcĐộTruyCập] : thường public; ▫ [: GiaoDiệnCơ Sở] : danh sách Interface khác mà kế thừa, Interface dấu phẩy (,) Ví dụ public interface IPlayerManager { public void PlayMusic(); public void PauseMusic(); public void Stop(); public int OnOff // thuộc tính Interface { get ; } } Ví dụ (tt) public interface IPlayerManager { void PlayMusic(); void PauseMusic(); void Stop(); int OnOff // thuộc tính Interface { get ; } } // Error ? Ví dụ (tt) public class Player : IPlayerManager { int _Switch; public void PlayMusic() { Console.WriteLine(“Music is playing ”); _Switch = ; } public void PauseMusic() { Console.WriteLine(“Music is pause ”); _Switch = ; } public void Stop() { Console.WriteLine(“Music is stopped ”); _Switch = -1 ; } } // Error ? Ví dụ (tt) public class Player : IPlayerManager { int _Switch; public void PlayMusic() { Console.WriteLine(“Music is playing ”); _Switch = ; } public void PauseMusic() { Console.WriteLine(“Music is pause ”); _Switch = ; } public void Stop() { Console.WriteLine(“Music is stop ”); _Switch = -1 ; } public int OnOff { get { return _Switch ; } } } Thực thi nhiều giao diện • Các lớp thực thi nhiều giao diện, cách để thực đa kế thừa C# • Ví dụ interface IStorable { void Read(string FileName); void Write(string FileName); string Data { get; set; } } interface IEncryptable { void Encrypt( ); void Decrypt( ); } 10 Thực thi nhiều giao diện public class Document : IStorable, IEncryptable { string S; public Document(string str) { S = str; } public void Read( string FileName) {} public void Write(string FileName) { } … } 11 Mở Rộng Giao Diện interface IStorableAndCompressible { : IStorable // bo sung them phuong thuc nen va giai nen void Compress( ); void Decompress( ); } 12 Kết Hợp Giao Diện interface IstorableAndEncryptable: IStorable, IEncryptable { //Có thể bổ sung thêm phương thức, thuộc tính… } public class Document : IStorableAndEncryptable { … } 13 FAQs 14 Hết chương Môn Lập Trình Hướng Đối Tượng [...]... interface IstorableAndEncryptable: IStorable, IEncryptable { //Có thể bổ sung thêm các phương thức, thuộc tính… mới } public class Document : IStorableAndEncryptable { … } 13 FAQs 14 Hết chương 8 Môn Lập Trình Hướng Đối Tượng ... thuộc tính… } public class Document : IStorableAndEncryptable { … } 13 FAQs 14 Hết chương Môn Lập Trình Hướng Đối Tượng ... giao diện Định Nghĩa • Giao diện dạng lớp trừu tượng, sử dụng nhằm hỗ trợ tính đa hình • Giao diện có nguyên mẫu phương thức thuộc tính, mục • Tất thành phần khai báo giao diện mặc định public