Bài giảng Lập trình C# - Bài 7: Lớp trừu tượng và giao diện

Phương thức trừu tượng Lớp cơ sở trừu tượng(Abstract base class) Interface(giao diện) Multiple Interface Explicit Interface Interface Inheritance Tại sao lại dùng interface So sánh abstract base class và Interface

ppt13 trang | Chia sẻ: candy98 | Lượt xem: 437 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Bài giảng Lập trình C# - Bài 7: Lớp trừu tượng và giao diện, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 7Lớp trừu tượng và giao diệnÔn tập lại bài cũLớp và đối tượngConstructor và DestructorGarbage CollectorPhương thức(Method)Chồng phương thức(Method Overloading)Chông toán tử(Operator Overloading)Access modifier (phạm vi truy xuất)Từ khóa ref và outSubject name / Session# / 3 of TotalpageNội dung trình bàyPhương thức trừu tượngLớp cơ sở trừu tượng(Abstract base class)Interface(giao diện)Multiple InterfaceExplicit InterfaceInterface InheritanceTại sao lại dùng interfaceSo sánh abstract base class và InterfaceLớp trừu tượng và giao diệnPhương thức trừu tượngLà phương thức mà không có phần cài đặt(chỉ có phần khai báo nguyên mẫu mà không có phần thân)Cú pháp để khai báo: đặt từ kháo abstract trước phần khai báo phương thức(không viết thân phương thức)Ví dụ:// chú ý là không có phần thân phương thứcpublic abstract void someMethod();Lớp trừu tượngLớp trừu tượng là lớp gồm 1 hoặc nhiều phương thức trừu tượngKhông thể khởi tạo đối tượng cho lớp trừu tượng// Ví dụ câu lệnh sau sẽ có lỗiMyAbstractClass a1 = new MyAbstractClass();Một lớp khác sẽ cài đặt các phương thức trong lớp trừu tượngVí dụ DEMO lớp trừu tượngLớp trừu tượng và giao diệnKhi nào thì sử dụng phương thức trừu tượng và lớp trừu tượng?Khi hai hoặc nhiều lớp muốn cài đặt các phương thức cùng tên nhưng mỗi phương thức trong một lớp lại thực hiện các công việc khác nhau(tính đa hình).Các lớp này sẽ kế thừa và cài đặt các phương thức trong lớp cơ sởTrong lập trình hướng đối tượng, lớp trừu tượng thường được đặt ở mức đỉnh trong sơ đồ cây phân cấp các lớp kề thừaLớp trừu tượng và giao diệnInterface là gì?Là lớp trừu tượng hoàn toàn có nghĩa là chỉ chứa các abstract methodKhông thể khởi tạo đối tượng cho InterfaceMột interface có thể nằm trong một namspace, nằm trong một class(nếu nằm trong class thì phải đặt là public)Trong interface chỉ gồm các thành phần:Abstract methodPropertiesIndexersEventLớp trừu tượng và giao diệnCú pháp khai báo:Chú ý nếu interface đặt trong một lớp thì phải đặt từ khóa public trước interfaceLớp trừu tượng và giao diệninterface IFile{ int delFile(); void disFile();}Cài đặt interfaceInterface được cài đặt bởi lớpMột lời cài đặt interface thì phải cài đặt tất cả các phương thức trong lớp đóCú pháp:Ví dụ DEMOLớp trừu tượng và giao diệnMultiple InterfaceNgôn ngữ C# cho phép một lớp cài đặt nhiều InterfaceExplicit InterfaceKhi 1 lớp mà cài đặt interface có 2 phương thức giống nhau thì phải chỉ ra tên interface chưa phương thức cần cài đặt.Interface Inherintace: Một interface có thể kế thừa nhiều InterfaceVí dụ DEMO về Multiple interface và Explicit InterfaceLớp trừu tượng và giao diệnTại sao lại dùng interfaceCó được các lớp không có quan hệ với nhau cùng cài đặt các phương thức giống nhauSử dụng đa kế thừaChe dấu thông tin(encapsulation)Lớp trừu tượng và giao diệnSo sánh Abstract base class và InterfaceTất cả các phương thức trong interface là abstract method, trong khi đó phương thức trong abstract base class là abstract methodTrong lớp Abstract base class có thể chứa các fields, constructor, destructor, trong khi đó interface thì khôngKhông thể tạo đối tượng(Instantiating object) của Abstract class và InterfaceLớp trừu tượng và giao diệnTổng kếtPhương thức trừu tượngLớp cơ sở trừu tượng(Abstract base class)Interface(giao diện)Multiple InterfaceExplicit InterfaceInterface InheritanceTại sao lại dùng interfaceSo sánh abstract base class và InterfaceLớp trừu tượng và giao diện