Interface là gì? Những ý nghĩa của Interface

Blog Nghialagi.org giải đáp ý nghĩa Interface là gì

  • Chào mừng bạn đến blog Nghialagi.org chuyên tổng hợp tất cả hỏi đáp định nghĩa là gì, thảo luận giải đáp viết tắt của từ gì trong giới trẻ, hôm nay chúng ta cùng tìm hiểu một khái niệm mới đó là Interface là gì? Những ý nghĩa của Interface. Nghĩa của từ Interface – Từ điển Anh – Việt. Interface Là gì? Là thế nào? Định nghĩa

Định nghĩa 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.

Giao diện là gì?

  • Trong Java, Interface (giao diện) là một kiểu dữ liệu tham chiếu tương tự như Class (lớp) nhưng chỉ có thể chứa hằng số và tên các phương thức, không có phần thân phương thức (phương thức trừu tượng). Một lớp mô tả các thuộc tính và hành động của đối tượng còn Interface thì mô tả các hành động của lớp đó. Interface không thể được khởi tạo như lớp mà chỉ có thể được mở rộng từ các lớp khác hoặc được kế thừa từ các Interface khác.
  • Trong Interface, chúng ta không thể khai báo hàm tạo và Interface không thể kế thừa từ một lớp mà chỉ có thể được mở rộng từ lớp và một Interface có thể được kế thừa lại từ nhiều Interface khác.
  • Ngoại trừ lớp trừu tượng thì tất cả các lớp mở rộng Interface phải định nghĩa lại tất cả các phương thức của Interface. Java sử dụng giao diện để thực hiện nhiều kế thừa. Một lớp Java có thể thực hiện nhiều giao diện Java. Tất cả các phương thức trong một giao diện đều hoàn toàn công khai và trừu tượng.

Tại sao cần có Giao diện?

Để hiểu rõ hơn về khái niệm Giao diện Java, hãy xem một ví dụ. Lớp “Media Player” có hai lớp con: đầu CD và đầu DVD. Mỗi người có phương pháp thực hiện riêng để chơi nhạc.

Cách sử dụng Giao diện trong Java

Một lớp “Combo drive” khác đang kế thừa cả CD và DVD (xem hình ảnh bên dưới). Nó nên kế thừa phương pháp chơi nào? Điều này có thể gây ra vấn đề thiết kế nghiêm trọng. Và do đó, Java không cho phép nhiều kế thừa.

Cách sử dụng Giao diện trong Java

Bây giờ hãy lấy một ví dụ khác về Dog.

Giả sử bạn có một yêu cầu trong đó lớp “chó” kế thừa lớp “động vật” và “Thú cưng” (xem hình dưới đây). Nhưng bạn không thể mở rộng hai lớp trong Java. Vậy bạn muốn làm gì? Giải pháp là Giao diện.

Cách sử dụng Giao diện trong Java

Quy tắc cho giao diện nói,

  • Một giao diện là lớp trừu tượng 100% và chỉ có các phương thức trừu tượng.
  • Lớp có thể thực hiện bất kỳ số lượng giao diện.

Class Dog có thể mở rộng đến lớp “Animal” và thực hiện giao diện là “Pet”.

Cách sử dụng Giao diện trong JavaKhi nào nên sử dụng Giao diện và Lớp trừu tượng?

  • Sử dụng một lớp trừu tượng khi một mẫu cần được xác định cho một nhóm các lớp con
  • Sử dụng một giao diện khi một vai trò cần được xác định cho các lớp khác, bất kể cây thừa kế của các lớp này

Sự thật về Giao diện

  • Một lớp Java có thể thực hiện nhiều Giao diện Java. Điều cần thiết là lớp phải thực hiện tất cả các phương thức được khai báo trong các giao diện.
  • Lớp nên ghi đè tất cả các phương thức trừu tượng được khai báo trong giao diện
  • Giao diện cho phép gửi tin nhắn đến một đối tượng mà không liên quan đến lớp nào.
  • Lớp cần cung cấp chức năng cho các phương thức được khai báo trong giao diện.
  • Tất cả các phương thức trong một giao diện đều hoàn toàn công khai và trừu tượng
  • Một giao diện không thể được khởi tạo
  • Một tham chiếu giao diện có thể trỏ đến các đối tượng của các lớp triển khai của nó
  • Một giao diện có thể mở rộng từ một hoặc nhiều giao diện. Lớp chỉ có thể mở rộng một lớp nhưng thực hiện bất kỳ số lượng giao diện nào
  • Một giao diện không thể thực hiện Giao diện khác. Nó phải mở rộng giao diện khác nếu cần.
  • Một giao diện được khai báo bên trong một giao diện khác được gọi là giao diện lồng nhau
  • Tại thời điểm khai báo, biến giao diện phải được khởi tạo. Nếu không, trình biên dịch sẽ đưa ra một lỗi.
  • Lớp không thể thực hiện hai giao diện trong java có các phương thức có cùng tên nhưng kiểu trả về khác nhau.

Tóm tắt:

  • Lớp thực hiện giao diện cần cung cấp chức năng cho các phương thức được khai báo trong giao diện
  • Tất cả các phương thức trong một giao diện đều hoàn toàn công khai và trừu tượng
  • Một giao diện không thể được khởi tạo
  • Một tham chiếu giao diện có thể trỏ đến các đối tượng của các lớp triển khai của nó
  • Một giao diện có thể mở rộng từ một hoặc nhiều giao diện. Một lớp chỉ có thể mở rộng một lớp nhưng thực hiện bất kỳ số lượng giao diện nào

Trong java trình biên dịch tự động thêm từ khóa public và abstract trước phương thức của interface và các từ khóa public, static và final trước các thành viên dữ liệu.

Ta có các quy tắc như sau:

  • Một interface không thể có constructor hay bạn không thể khởi tạo một interface.
  • Tất cả các phương thức của interface đều là abstract.
  • Một interface có thể được kế thừa từ một interface khác.
  • Một interface không thể được kế thừa từ một lớp.
  • Một class chỉ được kế thừa từ một class khác, nhưng một class có thể được triển khai từ nhiều interface.
  • Bạn phải dùng từ khóa implements để triển khai interface.

Kết luận

Cảm ơn bạn đã đọc bài viết của blog nghialagi.org, hy vọng những thông tin giải đáp Interface là gì? Những ý nghĩa của Interface sẽ giúp bạn đọc bổ sung thêm kiến thức hữu ích. Nếu bạn đọc có những đóng góp hay thắc mắc nào liên quan đến định nghĩa Interface là gì? vui lòng để lại những bình luận bên dưới bài viết này. Blog nghialagi.org luôn sẵn sàng trao đổi và đón nhận những thông tin kiến thức mới đến từ quý độc giả

Co-founder tại Blog Nghilagi.org Giải đáp thắc mắc bạn đọc. Tra thuật ngữ nhanh và chính xác nhất. Nghĩa Là Gì - Giải thích mọi câu hỏi kỳ quặc nhất Hãy cùng nhau chia sẻ những kiến thức bổ ích