intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình hướng đối tượng: Chương 8 - Nguyễn Minh Thành

Chia sẻ: Fczxxv Fczxxv | Ngày: | Loại File: PDF | Số trang:14

53
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng Lập trình hướng đối tượng: Chương 8 Interface (Giao Diện)trình bày về định nghĩa giao diện, khai báo giao diện, thực thi nhiều giao diện...tất cả các thành phần khai báo trong giao diện mặc định là public (nên không có từ khóa về mức độ truy cập trong khai báo các thuộc tính và phương thức).

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 8 - Nguyễn Minh Thành

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

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2