1. Trang chủ
  2. » Công Nghệ Thông Tin

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 p1

5 6 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Mặc nhiên, các cấu trúc vẫn kế thừa từ Object như bất cứ kiểu dữ liệu giá trị nào khác trong C#/. Câu hỏi 2: Trong hai dạng mảng và tập hợp thì lại nào chứa cấu trúc tốt hơn? Trả lời 2: Cấu trúc có hiệu quả khi sử dụng trong mảng hơn là lưu chúng dưới dạng tập hợp. Dạng tập hợp tốt với kiểu dữ liệu tham chiếu. Câu hỏi 3: Cấu trúc được lưu trữ ở đâu? Trả lời 3: Cấu trúc như đã đề cập là kiểu dữ liệu giá trị nên nó được lưu...

Ngơn Ngữ Lập Trình C# Giáo trình hướng dẫn truy cập phương thức gán đối tượng cho giao diện đối lập trừu tượng kiểu cô lập tường minh, tức khơng cho phép kế thừa từ Và không kế thừa từ lớp khác Mặc nhiên, cấu trúc kế thừa từ Object kiểu liệu giá trị khác C#/ Câu hỏi 2: Trong hai dạng mảng tập hợp lại chứa cấu trúc tốt hơn? Trả lời 2: Cấu trúc có hiệu sử dụng mảng lưu chúng dạng tập hợp Dạng tập hợp tốt với kiểu liệu tham chiếu Câu hỏi 3: Cấu trúc lưu trữ đâu? Trả lời 3: Cấu trúc đề cập kiểu liệu giá trị nên lưu trữ stack chương trình Ngược với kiểu tham chiếu đặt heap Câu hỏi 4: Khi truyền cấu trúc cho phương thức hình thức nào? Trả lời 4: Do kiểu giá trị nên truyền đối tượng cấu trúc cho phương thức truyền dạng tham trị tham chiếu Câu hỏi 5: Vậy làm truyền cấu trúc dạng tham chiếu cho phương thức? Trả lời 5: Cũng giống truyền tham chiếu kiểu giá trị int, long, char Ta khai báo khóa ref cho tham số kiểu cấu trúc Và gọi phương thức thêm từ khóa ref vào trước đối mục cấu trúc truyền vào Câu hỏi thêm Câu hỏi 1: Chúng ta khởi tạo giá trị ban đầu cho biến thành viên bên khơng? Nếu không sao? struct myStruct { private int mNum = 100; } Câu hỏi 2: Sự khác kiểu liệu tham chiếu kiểu liệu giá trị? Câu hỏi 3: Sự khác khởi dựng cấu trúc khởi dựng lớp? Câu hỏi 4: Có thiết phải dùng từ khóa new để tạo đối tượng kiểu cấu trúc hay không? Nếu khơng cịn cách khác nữa? Câu hỏi 5: Q trình boxing unboxing có diễn với đối tượng kiểu cấu trúc hay không? Bài tập Bài tập 1: Chương trình sau có lỗi Hãy sửa lỗi, biên dịch, chạy chương trình Đoạn lệnh gây lỗi? using System; struct TheStruct { 173 Cấu Trúc Ngơn Ngữ Lập Trình C# public int x; public TheStruct() { x = 10; } } class TestClass { public static void structtaker( TheStruct s) { s.x = 5; } public static void Main() { TheStruct a = new TheStruct(); a.x = 1; structtaker( a); Console.WriteLine("a.x = {0}", a.x); } } Bài tập 2: Hãy tính kết tay mà chương trình sau xuất Sau biên dịch chạy chương trình để đối sánh kết using System; class TheClass { public int x; } struct TheStruct { public int x; } class TestClass { public static void structtaker( TheStruct s) { 174 Cấu Trúc Ngơn Ngữ Lập Trình C# s.x = 5; } public static void classtaker(TheClass c) { c.x = 5; } public static void Main() { TheStruct a = new TheStruct(); TheClass b = new TheClass(); a.x = 1; b.x = 1; structtaker( a); classtaker(b); Console.WriteLine("a.x = {0}", a.x); Console.WriteLine("b.x = {0}", b.x); } } Bài tập 3: Hãy sửa chương trình tập để kết giá trị a.x đối tượng a thay đổi khỏi hàm structtaker() Dùng truyền tham chiếu cho cấu trúc 175 Cấu Trúc Ngơn Ngữ Lập Trình C# Chương THỰC THI GIAO DIỆN   Thực thi giao diện  Thực thi nhiều giao diện  Mở rộng giao diện  Kết hợp giao diện Truy cập phương thức giao diện  Gán đối tượng cho giao diện  Toán tử is  Toán tử as  Giao diện đối lập với trừu tượng  Thực thi phủ giao diện  Thực thi giao diện tường minh   Lựa chọn thể phương thức giao diện  Ẩ n thành viên Câu hỏi & tập Giao diện ràng buộc, giao ước đảm bảo cho lớp hay cấu trúc thực điều Khi lớp thực thi giao diện, lớp báo cho thành phần client biết lớp có hỗ trợ phương thức, thuộc tính, kiện mục khai báo giao diện Một giao diện đưa thay cho lớp trừu tượng để tạo ràng buộc lớp thành phần client Những ràng buộc khai báo cách sử dụng từ khóa interface, từ khóa khai báo kiểu liệu tham chiếu để đóng gói ràng buộc Một giao diện giống lớp chứa phương thức trừu tượng Một lớp trừu tượng dùng làm lớp sở cho họ lớp dẫn xuất từ Trong giao diện trộn lẫn với kế thừa khác 176 Thực Thi Giao Diện Ngơn Ngữ Lập Trình C# Khi lớp thực thi giao diện, lớp phải thực thi tất phương thức giao diện Đây bắt buộc mà lớp phải thực Trong chương thảo luận cách tạo, thực thi sử dụng giao diện Ngoài bàn tới cách thực thi nhiều giao diện với cách kết hợp mở rộng giao diện Và cuối minh họa dùng để kiểm tra lớp thực thi giao diện Thực thi giao diện Cú pháp để định nghĩa giao diện sau: [thuộc tính] [bổ sung truy cập] interface [: danh sách sở] { } Phần thuộc tính đề cập sau Thành phần bổ sung truy cập bao gồm: public, private, protected, internal, protected internal nói đến Chương 4, ý nghĩa tương tự bổ sung truy cập lớp Theo sau từ khóa interface tên giao diện Thơng thường tên giao diện bắt đầu với từ I hoa (điều không bắt buộc việc đặt tên rõ ràng dễ hiểu, tránh nhầm lẫn với thành phần khác) Ví dụ số giao diện có tên sau: IStorable, ICloneable, Danh sách sở danh sách giao diện mà giao diện mở rộng, phần trình bày phần thực thi nhiều giao diện chương Phần thân giao diện phần thực thi giao diện trình bày bên Giả sử muốn tạo giao diện nhằm mô tả phương thức thuộc tính lớp cần thiết để lưu trữ truy cập từ sở liệu hay thành phần lưu trữ liệu khác tập tin Chúng ta định gọi giao diện IStorage Trong giao diện xác nhận hai phương thức: Read() Write(), khai báo xuất phần thân giao diện sau: interface IStorable { void Read(); void Write(object); } Mục đích giao diện để định nghĩa khả mà muốn có lớp Ví dụ, tạo lớp tên Document, lớp lưu trữ liệu sở liệu, định lớp này thực thi giao diện IStorable Để làm điều này, sử dụng cú pháp giống việc tạo lớp Document thừa kế từ IStorable dùng dấu hai chấm (:) theo sau tên giao diện: 177 Thực Thi Giao Diện ... nhiều giao diện  Mở rộng giao diện  Kết hợp giao diện Truy cập phương thức giao diện  Gán đối tượng cho giao diện  Toán tử is  Toán tử as  Giao diện đối lập với trừu tượng  Thực thi phủ giao. .. buộc Một giao diện giống lớp chứa phương thức trừu tượng Một lớp trừu tượng dùng làm lớp sở cho họ lớp dẫn xuất từ Trong giao diện trộn lẫn với kế thừa khác 176 Thực Thi Giao Diện Ngơn Ngữ Lập Trình. .. sách giao diện mà giao diện mở rộng, phần trình bày phần thực thi nhiều giao diện chương Phần thân giao diện phần thực thi giao diện trình bày bên Giả sử muốn tạo giao diện nhằm mô tả phương thức

Ngày đăng: 08/05/2021, 13:56

Xem thêm: