Danh mục

Giáo trình hướng dẫn truy cập phương thức gán đối tượng cho một giao diện đối lập trừu tượng p2

Số trang: 5      Loại file: pdf      Dung lượng: 866.29 KB      Lượt xem: 8      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: miễn phí Tải xuống file đầy đủ (5 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bây giờ trách nhiệm của chúng ta, với vai trò là người xây dựng lớp Document phải cung cấp một thực thi có ý nghĩa thực sự cho những phương thức của giao diện IStorable. Chúng ta phải thực thi tất cả các phương thức của giao diện, nếu không trình biên dịch sẽ báo một lỗi. Sau đây là đoạn chương trình minh họa việc xây dựng lớp Document thực
Nội dung trích xuất từ tài liệu:
Giáo trình hướng dẫn truy cập phương thức gán đối tượng cho một giao diện đối lập trừu tượng p2 Ngôn Ngữ Lập Trình C# public class Document : IStorable { public void Read() { .... } public void Write() { .... } } Bây giờ trách nhiệm của chúng ta, với vai trò là người xây dựng lớp Document phảicung cấp một thực thi có ý nghĩa thực sự cho những phương thức của giao diện IStorable.Chúng ta phải thực thi tất cả các phương thức của giao diện, nếu không trình biên dịch sẽ báomột lỗi. Sau đây là đoạn chương trình minh họa việc xây dựng lớp Document thực thi giaodiện IStorable. Ví dụ 8.1: Sử dụng một giao diện.-----------------------------------------------------------------------------using System;// khai báo giao diệninterface IStorable{ // giao diện không khai báo bổ sung truy cập // phương thức là public và không thực thi void Read(); void Write(object obj); int Status { get; set; }}// tạo một lớp thực thi giao diện IStorablepublic class Document : IStorable{ public Document( string s) { Console.WriteLine(“Creating document with: {0}”, s); 178 Thực Thi Giao Diện Ngôn Ngữ Lập Trình C# } // thực thi phương thức Read() public void Read() { Console.WriteLine(“Implement the Read Method for IStorable”); } // thực thi phương thức Write public void Write( object o) { Console.WriteLine(“Impleting the Write Method for IStorable”); } // thực thi thuộc tính public int Status { get { return status; } set { status = value; } } // lưu trữ giá trị thuộc tính private int status = 0;}public class Tester{ static void Main() { // truy cập phương thức trong đối tượng Document Document doc = new Document(“Test Document”); doc.Status = -1; doc.Read(); Console.WriteLine(“Document Status: {0}”, doc.Status); // gán cho một giao diện và sử dụng giao diện IStorable isDoc = (IStorable) doc; isDoc.Status = 0; 179 Thực Thi Giao Diện Ngôn Ngữ Lập Trình C# isDoc.Read(); Console.WriteLine(“IStorable Status: {0}”, isDoc.Status); }}----------------------------------------------------------------------------- Kết quả:Creating document with: Test DocumentImplementing the Read Method for IStorableDocument Status: -1Implementing the Read Method for IStorableIStorable Status: 0-----------------------------------------------------------------------------Ví dụ 8.1 định nghĩa một giao diện IStorable với hai phương thức Read(), Write() và mộtthuộc tính tên là Status có kiểu là số nguyên.. Lưu ý rằng trong phần khai báo thuộc tínhkhông có phần thực thi cho get() và set() mà chỉ đơn giản là khai báo có hành vi là get() vàset(): int Status { get; set;}Ngoài ra phần định nghĩa các phương thức của giao diện không có phần bổ sung truy cập (vídụ như: public, protected, internal, private). Việc cung cấp các bổ sung truy cập sẽ tạo ramột lỗi. Những phương thức của giao diện được ngầm định là public vì giao diện là nhữngràng buộc được sử dụng bởi những lớp khác. Chúng ta không thể tạo một thể hiện của giaodiện, thay vào đó chúng ta sẽ tạo thể hiện của lớp có thực thi giao diện.Một lớp thực thi giao diện phải đáp ứng đầy đủ và chính xác các ràng buộc đã khai báo tronggiao diện. Lớp Document phải cung cấp cả hai phương thức Read() và Write() cùng vớithuộc tính Status. Tuy nhiên cách thực hiện những yêu cầu này hoàn toàn phụ thuộc vào lớpDocument. Mặc dù IStorage chỉ ra rằng lớp Document phải có một thuộc tính là Statusnhưng nó không biết hay cũng không quan tâm đến việc lớp Document lưu trữ trạng thái thậtsự của các biến thành viên, hay việc tìm kiếm trong cơ sở dữ liệu. Những chi tiết này phụthuộc vào phần thực thi của lớp.Thực thi nhiều giao diệnTrong ngôn ngữ C# cho phép chúng ta thực thi nhiều hơn một giao diện. Ví dụ, nếu lớpDocument có thể được lưu trữ và dữ liệu cũng được nén. Chúng ta có thể chọn thực thi cả haigiao diện IStorable và ICompressible. Như vậy chúng ta phải thay đổi phần khai báo trongdanh sách cơ sở để chỉ ra rằng cả hai giao diện điều được thực thi, sử dụng dấu phẩy (,) đểphân cách giữa hai giao diện: public class Document : IStorable, ICompressible ...

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