Trong C #, một lớp thực hiện một giao diện được yêu cầu để xác định tất cả các thành viên của giao diện đó. Trong trường hợp của một lớp trừu tượng, bạn chỉ cần định nghĩa các thành viên đó bằng abstract
từ khóa:
interface IFoo
{
void Bar();
}
abstract class Foo : IFoo
{
public abstract void Bar();
}
Hoặc nói theo một cách khác: bạn không phải "thực hiện" nó (đó sẽ là một hạn chế khủng khiếp đối với các lớp trừu tượng); tuy nhiên, trong C #, bạn phải thông báo cho trình biên dịch rằng bạn đang cố tình chuyển buck cho các lớp con cụ thể - và dòng mã trên cho thấy cách thực hiện.
Các ý kiến và downvote phàn nàn rằng đây không phải là một câu trả lời cho câu hỏi đang thiếu điểm. Ai đó đến với Stack Overflow, đã nhận được lỗi trình biên dịch này, nhưng có một lớp trừu tượng trong đó sẽ là một lỗi khi cung cấp một triển khai, bị mắc kẹt mà không có giải pháp tốt - sẽ phải viết các phương thức thực hiện đã ném ngoại lệ thời gian chạy, một công việc khủng khiếp -around - cho đến khi họ có thông tin trên. Cho dù đó là tốt hay xấu mà C # yêu cầu nhà thám hiểm này nằm ngoài phạm vi của Stack Overflow, và không liên quan đến câu hỏi cũng như câu trả lời này.