intTypePromotion=1
ADSENSE

Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 2)

Chia sẻ: Bautroibinhyen27 Bautroibinhyen27 | Ngày: | Loại File: PPTX | Số trang:96

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

Bài giảng "Lập trình trên Windows - Chương 2: Ngôn ngữ lập trình C# (phần 2)" cung cấp cho người học các kiến thức: Interface, property, Mảng và Indexer, lớp Collection. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 2)

  1. Lập trình Windows Chương 2. Ngôn ngữ lập trình C# Phần 2 1
  2. Nội dung • Interface • Property, Mảng và Indexer • Lớp Collection 22
  3. Interface
  4. Interface Khái niệm 4
  5. Interface Khái niệm • Interface định nghĩa một “giao kèo” mà có thể được hiện thực bởi các lớp • Một interface có thể chứa các methods, properties, events, và indexers • Interface không cung cấp các hiện thực của các thành viên nó định nghĩa • Interface là một lớp trừu tượng thuần túy 5
  6. Interface Khai báo • Cú pháp [attributes][modifiers]interface[:baseList] {     [interface-body] } 6
  7. Interface Khai báo • Tên Interface • Đặt giống như tên lớp • Ký tự đầu tiên là “I” interface IControl { void Paint(); } 7
  8. Interface Khai báo • Danh sách thừa kế • Interface chỉ có thể thừa kế từ các interface khác • Interface có thể thực hiện đa thừa kế interface IControl { void Paint(); } interface ITextBox: IControl { void SetText(string text); } interface IListBox: IControl { void SetItems(string[] items); } interface IComboBox: ITextBox, IListBox {} 8
  9. Interface Khai báo • Các thành phần bên trong interface • Phương thức • Property • Indexer • Event • Và các thành phần khác được thừa kế từ các interface • Nhận xét • Không có field trong interface • Không có constructor và destructor 9
  10. Interface Hiện thực • Quy tắc • Một lớp có thể hiện thực một hay nhiều interface • Khi một lớp cài đặt interface phải cài đặt mọi thành viên trong các interface đó • Cách hiện thực • Dùng thành viên public • Hoặc chỉ rõ thành viên thuộc interface nào (tránh tạo thành viên public) 10
  11. Interface Hiện thực • Cú pháp class ClassName: InterfaceList { 1 public  InterfaceMember() {…} 2  InterfaceName.InterfaceMember() {…} } 11
  12. Interface Hiện thực interface IControl { • Cách 1 void Paint(); } interface IDataBound { void Bind(Binder b); } public class EditBox: IControl, IDataBound { public void Paint() { … } public void Bind(Binder b) { ... } } 12
  13. Interface Hiện thực • Khi một lớp hay một struct hiện thực một interface thì các instances của lớp/struct đó có thể được chuyển ngầm định sang kiểu interface đó EditBox editBox = new EditBox(); editBox.Paint(); IControl control = editBox; IDataBound dataBound = editBox; control.Paint(); dataBound.Bind(…); 13
  14. Interface Hiện thực interface IControl { • Cách 2 void Paint(); }  interface IDataBound { void Bind(Binder b); } public class EditBox: IControl, IDataBound { public void IControl.Paint()  { … } public void IDataBound.Bind(Binder b)  { ... } }  14
  15. Interface Hiện thực • Chú ý: các thành viên hiện thực bằng cách 2 chỉ có thể truy cập qua kiểu interface EditBox editBox = new  EditBox(); editBox.Paint();  IControl control = editBox; control.Paint();  15
  16. Interface Hiện thực public interface IFile {    int DeleteFile();    void DisplayFile(); } public class MyFile : IFile {    public int DeleteFile()    {       Console.WriteLine("DeleteFile Implementation!");       return(0);    } public void DisplayFile()    {       Console.WriteLine("DisplayFile Implementation!");    } } 16
  17. Interface Hiện thực class InterfaceDemo {    public static void Main()    {        MyFile objMyFile = new MyFile();         objMyFile.DisplayFile();        int retValue = objMyFile.DeleteFile();    } }  17
  18. Interface Hiện thực • Hiện thực nhiều interface public interface IFileTwo {    void ApplySecondInterface(); } 18
  19. Interface Hiện thực public class MyFile: IFile, IFileTwo {    public int DeleteFile()    {       Console.WriteLine ("DeleteFile Implementation!");       return(0);       }    public void DisplayFile()    {       Console.WriteLine("DisplayFile Implementation!");    }    public void ApplySecondInterface()    {      Console.WriteLine("ApplySecondInterface Implementation!");    } } 19
  20. Interface Hiện thực class MultipleInterfaces {     static void Main() { MyFile objMyFile = new MyFile(); objMyFile.DisplayFile(); int retValue = objMyFile.DeleteFile(); objMyFile.ApplySecondInterface();    } }  20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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