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
lượt xem 14
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
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)
- Lập trình Windows Chương 2. Ngôn ngữ lập trình C# Phần 2 1
- Nội dung • Interface • Property, Mảng và Indexer • Lớp Collection 22
- Interface
- Interface Khái niệm 4
- 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
- Interface Khai báo • Cú pháp [attributes][modifiers]interface[:baseList] { [interface-body] } 6
- 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
- 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
- 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
- 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
- Interface Hiện thực • Cú pháp class ClassName: InterfaceList { 1 public InterfaceMember() {…} 2 InterfaceName.InterfaceMember() {…} } 11
- 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
- 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
- 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
- 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
- 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
- Interface Hiện thực class InterfaceDemo { public static void Main() { MyFile objMyFile = new MyFile(); objMyFile.DisplayFile(); int retValue = objMyFile.DeleteFile(); } } 17
- Interface Hiện thực • Hiện thực nhiều interface public interface IFileTwo { void ApplySecondInterface(); } 18
- 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
- Interface Hiện thực class MultipleInterfaces { static void Main() { MyFile objMyFile = new MyFile(); objMyFile.DisplayFile(); int retValue = objMyFile.DeleteFile(); objMyFile.ApplySecondInterface(); } } 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình trên Windows: Giới thiệu môn học - Trần Minh Thái
16 p | 142 | 16
-
Bài giảng Lập trình trên Windows: Chương 1 - Trần Minh Thái
68 p | 116 | 16
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 1)
141 p | 101 | 15
-
Bài giảng Lập trình trên Windows: Chương 3 - Trần Minh Thái
220 p | 90 | 14
-
Bài giảng Lập trình trên Windows: Chương 4 - Trần Minh Thái
35 p | 100 | 12
-
Bài giảng Lập trình trên Windows: Chương 5 - Trần Minh Thái
38 p | 103 | 10
-
Bài giảng Lập trình trên Windows: Chương 2 - Trần Minh Thái (Phần 3)
29 p | 73 | 10
-
Bài giảng Lập trình trên Windows: Chương 5.1 - Trần Minh Thái
20 p | 80 | 9
-
Bài giảng Lập trình trên Windows: Chương 5.2 - Trần Minh Thái
86 p | 91 | 9
-
Bài giảng Lập trình trên Windows: Chương 5.5 - Trần Minh Thái
47 p | 64 | 8
-
Bài giảng Lập trình trên Windows: Chương 5.6 - Trần Minh Thái
44 p | 73 | 8
-
Bài giảng Lập trình trên Windows: Chương 5.3 - Trần Minh Thái
25 p | 70 | 7
-
Bài giảng Lập trình trên Windows: Chương 6 - Trần Minh Thái
27 p | 52 | 7
-
Bài giảng Lập trình trên Windows: Chương 5.4 - Trần Minh Thái
22 p | 66 | 6
-
Bài giảng Lập trình trên môi trường Windows: Phần 1 - Windows control
31 p | 96 | 5
-
Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 6 - Hồ Hoàn Kiếm
15 p | 75 | 5
-
Bài giảng Lập trình trên Windows với Microsoft® .NET: Bài 1 - Hồ Hoàn Kiếm
19 p | 67 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn