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
Số trang: 5
Loại file: pdf
Dung lượng: 483.94 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
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...
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 p1 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 một giao diện đối lập trừu tượngkiểu cô lập tường minh, tức là không cho phép kế thừa từ nó. Và nó cũng không kế thừa đượctừ bất cứ lớp nào khác. 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 trữ trên stack củachương trình. Ngược với kiểu tham chiếu được đặt trên heap.Câu hỏi 4: Khi truyền cấu trúc cho một phương thức thì dưới hình thức nào?Trả lời 4: Do là kiểu giá trị nên khi truyền một đối tượng cấu trúc cho một phương thức thìnó được truyền dưới dạng tham trị chứ không phải tham chiếu.Câu hỏi 5: Vậy làm thế nào truyền cấu trúc dưới dạng tham chiếu cho một phương thức?Trả lời 5: Cũng giống như truyền tham chiếu một kiểu giá trị như int, long, char. Ta khai báokhóa ref cho các tham số kiểu cấu trúc. Và khi gọi phương thức thì thêm từ khóa ref vàotrước đối mục cấu trúc được truyền vào.Câu hỏi thêmCâu hỏi 1: Chúng ta có thể khởi tạo giá trị ban đầu cho các biến thành viên của nó như bêndưới được không? Nếu không được tại sao?struct myStruct{ private int mNum = 100; ....}Câu hỏi 2: Sự khác nhau giữa kiểu dữ liệu tham chiếu và kiểu dữ liệu giá trị?Câu hỏi 3: Sự khác nhau giữa bộ khởi dựng của cấu trúc và bộ khởi dựng của lớp?Câu hỏi 4: Có nhất 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 thì còn cách nào khác nữa?Câu hỏi 5: Quá trình boxing và unboxing có diễn ra với một đối tượng là kiểu cấu trúc haykhông?Bài tậpBài tập 1: Chương trình sau đây có lỗi. Hãy sửa lỗi, biên dịch, và chạy chương trình. Đoạnlệnh nào gây ra 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 quả bằng tay mà chương trình sau xuất ra. Sau đó biên dịch và chạychương trình để đối sánh kết quả.-----------------------------------------------------------------------------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 trong bài tập 2 để kết quả giá trị a.x của đối tượng a đượcthay đổi khi ra 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 8 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 các giao diện Truy cập phương thức giao diện Gán đối tượng cho một 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ủ quyết giao diện Thực thi giao diện tường minh Lựa chọn thể hiện phương thức giao diện Ẩ n thành viên ...
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 p1 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 một giao diện đối lập trừu tượngkiểu cô lập tường minh, tức là không cho phép kế thừa từ nó. Và nó cũng không kế thừa đượctừ bất cứ lớp nào khác. 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 trữ trên stack củachương trình. Ngược với kiểu tham chiếu được đặt trên heap.Câu hỏi 4: Khi truyền cấu trúc cho một phương thức thì dưới hình thức nào?Trả lời 4: Do là kiểu giá trị nên khi truyền một đối tượng cấu trúc cho một phương thức thìnó được truyền dưới dạng tham trị chứ không phải tham chiếu.Câu hỏi 5: Vậy làm thế nào truyền cấu trúc dưới dạng tham chiếu cho một phương thức?Trả lời 5: Cũng giống như truyền tham chiếu một kiểu giá trị như int, long, char. Ta khai báokhóa ref cho các tham số kiểu cấu trúc. Và khi gọi phương thức thì thêm từ khóa ref vàotrước đối mục cấu trúc được truyền vào.Câu hỏi thêmCâu hỏi 1: Chúng ta có thể khởi tạo giá trị ban đầu cho các biến thành viên của nó như bêndưới được không? Nếu không được tại sao?struct myStruct{ private int mNum = 100; ....}Câu hỏi 2: Sự khác nhau giữa kiểu dữ liệu tham chiếu và kiểu dữ liệu giá trị?Câu hỏi 3: Sự khác nhau giữa bộ khởi dựng của cấu trúc và bộ khởi dựng của lớp?Câu hỏi 4: Có nhất 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 thì còn cách nào khác nữa?Câu hỏi 5: Quá trình boxing và unboxing có diễn ra với một đối tượng là kiểu cấu trúc haykhông?Bài tậpBài tập 1: Chương trình sau đây có lỗi. Hãy sửa lỗi, biên dịch, và chạy chương trình. Đoạnlệnh nào gây ra 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 quả bằng tay mà chương trình sau xuất ra. Sau đó biên dịch và chạychương trình để đối sánh kết quả.-----------------------------------------------------------------------------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 trong bài tập 2 để kết quả giá trị a.x của đối tượng a đượcthay đổi khi ra 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 8 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 các giao diện Truy cập phương thức giao diện Gán đối tượng cho một 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ủ quyết giao diện Thực thi giao diện tường minh Lựa chọn thể hiện phương thức giao diện Ẩ n thành viên ...
Tìm kiếm theo từ khóa liên quan:
giáo trình đại học tài liệu mạng giáo trình cơ điện giáo trình thiết kế tài liệu kế toánTài liệu liên quan:
-
Giáo trình phân tích một số loại nghiệp vụ mới trong kinh doanh ngân hàng quản lý ngân quỹ p5
7 trang 474 0 0 -
MARKETING VÀ QUÁ TRÌNH KIỂM TRA THỰC HIỆN MARKETING
6 trang 302 0 0 -
122 trang 217 0 0
-
QUY CHẾ THU THẬP, CẬP NHẬT SỬ DỤNG CƠ SỞ DỮ LIỆU DANH MỤC HÀNG HÓA BIỂU THUẾ
15 trang 212 1 0 -
BÀI GIẢNG KINH TẾ CHÍNH TRỊ MÁC - LÊNIN - TS. NGUYỄN VĂN LỊCH - 5
23 trang 210 0 0 -
Giáo trình hướng dẫn phân tích các thao tác cơ bản trong computer management p6
5 trang 201 0 0 -
Giáo trình chứng khoán cổ phiếu và thị trường (Hà Hưng Quốc Ph. D.) - 4
41 trang 200 0 0 -
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG - NGÂN HÀNG ĐỀ THI HẾT HỌC PHẦN HỌC PHẦN: TOÁN KINH TẾ
9 trang 177 0 0 -
BÀI GIẢNG LÝ THUYẾT MẠCH THS. NGUYỄN QUỐC DINH - 1
30 trang 176 0 0 -
Giáo trình phân tích giai đoạn tăng lãi suất và giá trị của tiền tệ theo thời gian tích lũy p10
5 trang 170 0 0