Một lớp trừu tượng là một lớp chỉ nhằm mục đích là một lớp cơ sở của các lớp khác. Công cụ sửa đổi 'trừu tượng' được sử dụng để tạo một lớp trừu tượng. Một sửa đổi trừu tượng chỉ ra rằng có một số triển khai còn thiếu cần được thực hiện trong lớp có nguồn gốc từ nó. Lớp trừu tượng có thể có các thành viên trừu tượng và không trừu tượng. Một lớp trừu tượng nên có ít nhất một phương thức trừu tượng, nếu không, không có cách sử dụng khai báo lớp đó là 'trừu tượng'.
Ví dụ về lớp trừu tượng trong C #:
Như trong ví dụ trên, phương thức trừu tượng 'Khu vực' bên trong lớp MyCircle bị ghi đè trong lớp dẫn xuất MyArea.
Một giao diện chỉ chứa khai báo của các thành viên bao gồm các phương thức, thuộc tính, sự kiện hoặc bộ chỉ mục. Nó không chứa việc thực hiện các thành viên này. Một lớp hoặc struct thực hiện giao diện, phải cung cấp định nghĩa về các phương thức được khai báo trong giao diện. Điều đó có nghĩa là một giao diện cung cấp một cấu trúc tiêu chuẩn mà lớp dẫn xuất cần tuân theo.
Ví dụ về Giao diện trong C #:
Như trong ví dụ trên, giao diện MyData có hai khai báo phương thức getdata () và showdata (). Lớp NameData đang thực hiện giao diện này sẽ đưa ra định nghĩa về các phương thức được khai báo trong giao diện MyData.