Danh mục

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

Số trang: 96      Loại file: pptx      Dung lượng: 829.19 KB      Lượt xem: 13      Lượt tải: 0    
10.10.2023

Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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.
Nội dung trích xuất từ tài liệu:
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 WindowsChương 2. Ngôn ngữ lập trình C# Phần 2 1Nội dung • Interface • Property, Mảng và Indexer • Lớp Collection 22InterfaceInterfaceKhái niệm 4InterfaceKhá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]} 6InterfaceKhai báo• Tên Interface • Đặt giống như tên lớp • Ký tự đầu tiên là “I” interfaceIControl { voidPaint(); } 7InterfaceKhai 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ế interfaceIControl { voidPaint(); } interfaceITextBox:IControl { voidSetText(stringtext); } interfaceIListBox:IControl { voidSetItems(string[]items); } interfaceIComboBox:ITextBox,IListBox{} 8InterfaceKhai 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 9InterfaceHiệ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) 10InterfaceHiện thực• Cú pháp classClassName: InterfaceList { 1 publicInterfaceMember() {…} 2 InterfaceName.InterfaceMember() {…} } 11InterfaceHiệ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) { ... } } 12InterfaceHiệ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 đó EditBoxeditBox=newEditBox(); editBox.Paint(); IControlcontrol=editBox; IDataBounddataBound=editBox; control.Paint(); dataBound.Bind(…); 13InterfaceHiện thựcinterfaceIControl{ • Cách 2 voidPaint();}interfaceIDataBound{ voidBind(Binderb);} publicclassEditBox:IControl,IDataBound { publicvoidIControl.Paint() { … } publicvoidIDataBound.Bind(Binderb) { ... } } 14InterfaceHiệ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 EditBoxeditBox=new EditBox(); editBox.Paint(); IControlcontrol=editBox; control.Paint(); 15InterfaceHiện thựcpublicinterfaceIFile{intDeleteFile();voidDisplayFile();}publicclassMyFile:IFile{publicintDeleteFil ...

Tài liệu được xem nhiều: