Sự khác biệt giữa lớp Trừu tượng và Giao diện trong C #

Lớp trừu tượng

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.

Giao diện

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.

Sự khác biệt giữa lớp trừu tượng và giao diện

  1. Một lớp trừu tượng có thể có các thành viên trừu tượng cũng như không trừu tượng. Nhưng, trong một giao diện, tất cả các thành viên đều hoàn toàn trừu tượng và phải được ghi đè trong lớp dẫn xuất.
  2. Một lớp có thể kế thừa một số giao diện nhưng chỉ có một lớp trừu tượng.
  3. Một lớp trừu tượng có thể chứa các phương thức có hoặc với một định nghĩa. Nhưng, một giao diện chỉ có thể chứa chữ ký phương thức.
  4. Một lớp trừu tượng hoàn toàn có thể, một phần hoặc không được triển khai, nhưng một giao diện nên được thực hiện đầy đủ, tức là, tất cả các thành viên phải được định nghĩa trong lớp dẫn xuất.
  5. Một giao diện không thể chứa các sửa đổi truy cập, nhưng một lớp trừu tượng có thể có nó cho các chức năng, thuộc tính hoặc sự kiện.