Interface và tính trừu tượng trong C#
Trong bài học này, bạn sẽ định nghĩa một interface mô tả khả năng của đối tượng và cài đặt interface đó trong một class.
Giới thiệu
Interface mô tả những gì một đối tượng có thể làm, ví dụ có thể gửi thông báo, mà không quy định cách đối tượng lưu dữ liệu hay kế thừa từ đâu. Nhiều class không liên quan đến nhau vẫn có thể cùng cài đặt một interface. Theo quy ước, tên interface trong C# bắt đầu bằng chữ I.
Interface INotifier chỉ khai báo phương thức Send. Class EmailNotifier cài đặt interface này bằng cách in thông báo qua email. Biến notifier có kiểu INotifier nên phần code sử dụng không phụ thuộc vào cách gửi cụ thể. Muốn thêm kênh SMS hay Slack, bạn chỉ cần tạo class mới cài đặt INotifier.
Ví dụ C# chạy được
using System;
interface INotifier { void Send(string message); }
class EmailNotifier : INotifier { public void Send(string message) => Console.WriteLine($"Email: {message}"); }
class Program
{
static void Main()
{
INotifier notifier = new EmailNotifier();
notifier.Send("Build complete");
}
}
Email: Build completeLuyện tập với trình gỡ lỗi
Luyện tập với thử thách
Áp dụng kiến thức của bài học này để giải một bài toán thực tế. Mỗi thử thách chạy ngay trên trình duyệt, có kiểm thử tức thì và AI nhận xét.
Tất cả thử thách