Sự khác nhau giữa giao diện và lớp trừu tượng? Trả lời 2: Sự khác nhau cơ bản là sự kế thừa. Một lớp có thể kế thừa nhiều giao diện cùng một lúc, nhưng không thể kế thừa nhiều hơn một lớp trừu tượng. Câu hỏi 3: Các lớp thực thi giao diện sẽ phải làm gì? Trả lời 3: Các lớp thực thi giao diện phải cung cấp các phần thực thi chi tiết cho các phương thức, thuộc tính, chỉ mục, sự kiện được khai báo trong giao diện. Câu hỏi 4: Có bao nhiêu cách gọi...
Ngơn Ngữ Lập Trình C# Câu hỏi 2: Sự khác giao diện lớp trừu tượng? Trả lời 2: Sự khác kế thừa Một lớp kế thừa nhiều giao diện lúc, kế thừa nhiều lớp trừu tượng Câu hỏi 3: Các lớp thực thi giao diện phải làm gì? Trả lời 3: Các lớp thực thi giao diện phải cung cấp phần thực thi chi tiết cho phương thức, thuộc tính, mục, kiện khai báo giao diện Câu hỏi 4: Có cách gọi phương thức khai báo giao diện? Trả lời 4: Có cách gọi phương thức khai báo giao diện: Thông qua lớp sở tham chiếu đến đối tượng lớp dẫn xuất Thông qua giao diện tạo từ lớp sở tham chiếu đến đối tượng dẫn xuất Thông qua đối tượng dẫn xuất Thông qua giao diện tạo từ đối tượng dẫn xuất Câu hỏi 5: Các thành viên giao diện có thuộc tính truy cập nào? Trả lời 5: Mặc định thành viên giao diện public Vì mục tiêu giao diện xây dựng cho lớp khác sử dụng Nếu thay đổi thuộc tính internal, protected hay private gây lỗi Câu hỏi 6: Chúng ta tạo thể giao diện cách trực tiếp không? Trả lời 6: Không thể tạo thể giao diện trực tiếp khai báo new Chúng ta tạo thể giao diện thông qua phép gán với đối tượng thực thi giao diện Câu hỏi thêm Câu hỏi 1: Toán tử is dùng làm giao diện? Câu hỏi 2: Tốn tử as có lợi tốn tử is mặt sử dụng liện quan đến giao diện? Câu hỏi 3: Giao diện kiểu liệu tham chiếu hay kiểu giá trị? Câu hỏi 4: Khi thực thi giao diện với cấu trúc Thì truy cập thành viên giao diện thông qua đối tượng hay thông qua tham chiếu giao diện tốt nhất? Câu hỏi 5: Số giao diện kế thừa cho lớp? Câu hỏi 6: Việc thực thi giao diện tường minh thực thi nào? Trong trường hợp cần thực tường minh? Bài tập Bài tập 1: Hãy viết giao diện khai báo thuộc tính ID chứa chuỗi giá trị Viết lớp Employee thực thi giao diện Bài tập 2: Đọan mã nguồn sau có lỗi sử lỗi cho biết có lỗi Sau sửa lỗi viết lớp Circle thực thi giao diện này? public interface IDimensions { 208 Thực Thi Giao Diện Ngôn Ngữ Lập Trình C# long width; long height; double Area(); double Circumference(); int Side(); } Bài tập 3: Chương trình sau có lỗi sử lỗi, biên dịch chạy lại chương trình? Giải thích chương trình có lỗi using System; interface IPoint { // Property signatures: int x { get; set; } int y { get; set; } } class MyPoint : IPoint { // Fields: private int myX; private int myY; // Constructor: public MyPoint(int x, int y) { myX = x; myY = y; } // Property implementation: public int x 209 Thực Thi Giao Diện Ngôn Ngữ Lập Trình C# { get { return myX; } set { myX = value; } } public int y { get { return myY; } set { myY = value; } } } class MainClass { private static void PrintPoint(IPoint p) { Console.WriteLine("x={0}, y={1}", p.x, p.y); } public static void Main() { MyPoint p = new MyPoint(2,3); Console.Write("My Point: "); PrintPoint(p); IPoint p2 = new IPoint(); PrintPoint(p2); } } 210 Thực Thi Giao Diện Ngơn Ngữ Lập Trình C# Bài tập 4: Xây dựng giao diện IDisplay có khai báo thuộc tính Name kiểu chuỗi Hãy viết hai lớp Dog Cat thực thi giao diện IDisplay, cho biết thuộc tính Name tên đối tượng 211 Thực Thi Giao Diện Ngơn Ngữ Lập Trình C# Chương MẢNG, CHỈ MỤC, VÀ TẬP HỢP Mảng Khai báo mảng Giá trị mặc định Truy cập thành phần mảng Khởi tạo thành phần mảng Sử dụng từ khóa params Câu lệnh lặp foreach Mảng đa chiều Mảng đa chiều kích thước Mảng đa chiều kích thước khác Chuyển đổi mảng System.Array Bộ mục Bộ mục phép gán Sử dụng kiểu số khác Giao diện tập hợp Câu hỏi & tập Môi trường NET cung cấp đa dạng số lượng lớp tập hợp, bao gồm: Array, ArrayList, Queue, Stack, BitArray, NameValueCollection, StringCollection Trong số tập hợp đơn giản Array, kiểu liệu tập hợp mà ngôn ngữ C# hỗ trợ xây dựng sẵn Chương tìm hiểu cách làm việc với mảng chiều, mảng đa chiều, mảng mảng (jagged array) Chúng ta giới thiệu phần mục indexer, cách thiết lập để làm cho việc truy cập thuộc tính giống trở nên đơn giản hơn, lớp mục giống mảng 212 Mảng, Chỉ Mục, Tập Hợp ... 210 Thực Thi Giao Diện Ngơn Ngữ Lập Trình C# Bài tập 4: Xây dựng giao diện IDisplay có khai báo thuộc tính Name kiểu chuỗi Hãy viết hai lớp Dog Cat thực thi giao diện IDisplay, cho biết thuộc... cho biết thuộc tính Name tên đối tượng 211 Thực Thi Giao Diện Ngơn Ngữ Lập Trình C# Chương MẢNG, CHỈ MỤC, VÀ TẬP HỢP Mảng Khai báo mảng Giá trị mặc định Truy cập thành phần mảng Khởi... x, int y) { myX = x; myY = y; } // Property implementation: public int x 209 Thực Thi Giao Diện Ngôn Ngữ Lập Trình C# { get { return myX; } set { myX = value; } } public int y { get { return myY;