Khái niệm, định nghĩa Interface là gì?

Interface được nghe đến rất nhiều, nhưng lại khá khó để tìm được một định nghĩa chung tổng quát, vậy nên xin nêu ra một số khái niệm riêng cho từng mảng khác nhau, từ đó các bạn sẽ suy ra được một định nghĩa chung và hiểu được interface là gì.

Interface trong mạng máy tính:

Thì Interface được hiểu là các cổng giao tiếp. Ví dụ như interface trên router.

Interface trong User Interface (viết tắt là UI):

để chỉ cho các đối tượng hiển thị ( gọi chung là các control) do framework hỗ trợ sẵn hoặc được người dùng custom lại từ những cái có sẵn ( hoặc có thể build lại từ đầu ), thường thì các UI này có “mẫu” cố định, được hỗ trợ để người dùng có thể thay đổi môt số thuộc tính nào đó, tích hợp vào trong nó các hành vi và thuộc tính.
Ví dụ: Nếu lập trình Windows sử dụng .NET Framework, bạn có thể bắt gặp một số dạng UI (control) như CheckBox, Label, Button.
Nếu lập trình ứng dụng cho Android, bạn có thể bắt gặp một số khác như Spinner, TextView ….

Interface trong khái niệm về lập trình hướng đối tượng

là một dạng “vỏ” chứa các khai báo hàm (chỉ là tên của hàm) ở mức độ prototype (đặc trưng signature của phương thức nào đó), khi sử dụng một class (hoặc interface, tùy ngôn ngữ lập trình), có thể mở rộng hành vi của các đối tượng trong class này bằng cách implement các interface này, khi đó phải xác định rõ hành động mà mỗi hàm được khai báo trong interface kia sẽ làm gì, một cách cụ thể.

Ví dụ: Trong C Sharp ta có thể gặp IEnumerable , IComparable chẳng hạn …

Interface cũng có thể hiểu là giao tiếp giữa các chương trình với nhau như Application Programming Interface (API) thông qua các hàm thư viện hay các thông điệp hệ thống message bus.