Interface trong c#, các đặc điểm của interface, mục đích sử dụng

Related Articles

Bài viết này sẽ cùng bạn tìm hiểu về interface trong C# là gì. Hãy cũng mình tìm hiểu về nó nhé.

Interface C # là gì ?

Interface gần như là một lớp ( class ). Nó chỉ có những phương pháp và thuộc tính trừu tượng. Một interface được hiểu như là 1 khuôn mẫu mà mọi lớp thực thi nó đều phải tuân theo. Interface là một kỹ thuật giúp thu được tính trừu tượng trọn vẹn và đa thừa kế trong lập trình C #. Interface nó chỉ định nghĩa những hành vi, năng lực thiết yếu ví dụ như :

  • Khả năng bay: cần các hành động hỗ trợ như cất cánh, bay, hạ cánh.
  • Khả năng đọc file: đọc header file, đọc dữ liệu, giải nén file.
  • Khả năng kết nối: cần mở kết nối, gửi nhận dữ liệu, xác nhận kết nối, đóng kết nối.

Các đặc thù, đặc thù của interface

Interface có những đặc thù, đặc thù riêng của nó, dưới đây là một số ít đặc thù điển hình nổi bật :

  • Một interface có thể kế thừa nhiều interface khác nhưng nó không thể kế thừa bất kỳ lớp nào.
  • Chỉ chứa khai báo không chứa phần định nghĩa (giống với phương thức thuần ảo). Mặc dù giống phương thức thuần ảo nhưng bạn không cần phải khai báo từ khoá abstract.
  • Việc ghi đè 1 thành phần ở trong interface cũng không cần từ khoá override.
  • Không thể khai báo phạm vi truy cập cho các thành phần bên trong interface. Các thành phần này sẽ mặc định là public.
  • Interface không chứa các thuộc tính (các biến) dù là hằng số hay là biến tĩnh cũng không được.
  • Interface không có constructor và cũng không có destructor.
  • Các lớp có thể thực thi nhiều interface cùng lúc.
  • Một class thì người dùng implement được nhiều interface
  • Không phải là một đối tượng.

Xem thêm: Lập trình Hướng đối Tượng

Bạn đang đọc: Interface trong c#, các đặc điểm của interface, mục đích sử dụng

Mục đích sử dụng của interface

Việc sử dụng interface sẽ mang lại nhiều quyền lợi thiết thực cho người dùng, đơn cử như sau :

  • Việc sử dụng interface giúp định nghĩa về sự tương tác giữa người sử dụng và phần mềm.
  • Interface được sử dụng như giao diện với bên ngoài được các abstract class hỗ trợ. Sản phẩm này sinh ra để phục vụ cho sự tương tác này một cách tốt hơn.
  • Một abstract class sử dụng để thực thi một interface. Do đó, các phương thức người dùng sẽ khai bảo bởi interface phải hiển thị trong cùng lớp để quá trình biên dịch được hiệu quả.
  • Dù thực thi được nhiều giao diện khi dùng như 1 lớp interface chỉ kế thừa được từ 1 lớp khác.

Khi nào bạn nên sử dụng interface hay abstract class ?

  1. Interface đại diện cho mối quan hệ “like – A” (Ô tô có thể chuyển động).
  2. Class abstract đại diện cho mối quan hệ “IS – A” (Ôtô là Xe)
  3. Tạo một class abstract khi bạn đang cần cung cấp những hướng dẫn cho một class cụ thể.
  4. Tạo một Interface khi bạn cần cung cấp những hành vi bổ sung cho class cụ thể và những hành vì này không bắt buộc đối với class đó.

phân biệt interface và abstract class

Bảng so sánh giữa interface và lớp trừu tượng

Các điểm khác biệt chung nhất giữa hai khái niệm interface và lớp trừu tượng(abstract class). Những điểm khác biệt này có thể khác nhau tùy theo ngôn ngữ mà bạn sử dụng. Những điểm căn bản như sau:

Interface Abstract class
Multiple inheritance Một class có thể hiện thực nhiều interface.(tạm coi là thừa kế) Không hỗ trợ đa thừa kế
Default implementation Không thể định nghĩa code xử lý, chỉ có thể khai báo. Có thể định nghĩa thân phương thức, property.
Access Modifiers Mọi phương thức, property đều mặc định là public. Có thể xác định modifier.
Adding functionality Mọi phương thức, property của interface cần được hiện thực trong class. Không cần thiết.
Fields and Constants Không

Xem thêm: Tài liệu về đồ dùng dạy học – Tài liệu text

5 / 5 ( 1 bầu chọn )

Chia sẻ bài viết :

  • More

    Source: https://blogchiase247.net

    Category: Hỏi Đáp

    More on this topic

    Comments

    LEAVE A REPLY

    Please enter your comment!
    Please enter your name here

    Advertismentspot_img

    Popular stories