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

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 và tên phương thức, không có 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 và một giao diện mô tả các hành động của lớp đó. Giao diện không thể được khởi tạo dưới dạng lớp mà chỉ có thể được mở rộng từ các lớp khác hoặc kế thừa từ các giao diện 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 Giao diện có thể được kế thừa từ nhiều Giao diện khác.
  • Ngoại trừ lớp trừu tượng, tất cả các lớp mở rộng Giao diện phải định nghĩa lại tất cả các phương thức của Giao diện. Java sử dụng các giao diện để thực hiện đa kế thừa. Một lớp Java có thể triển khai nhiều giao diện Java. Tất cả các phương thức trong một giao diện là hoàn toàn công khai và trừu tượng.

Tại sao lại là giao diện?

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

Một lớp “Combo drive” khác kế thừa cả CD và DVD (xem hì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 các vấn đề nghiêm trọng về thiết kế. Và vì vậy Java không cho phép đa kế thừa.

Bây giờ chúng ta 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 “dog” kế thừa các lớp “động vật” và “Thú cưng” (xem hình ảnh bên dưới). Nhưng bạn không thể mở rộng hai lớp trong Java. Thế bạn muốn làm gì nào? Giải pháp là Giao diện.

Quy tắc cho giao diện cho biết,

  • 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ể triển khai bất kỳ số lượng giao diện nào.

Lớp Chó có thể mở rộng sang lớp “Động vật” và triển khai giao diện “Vật nuôi”.

Khi nào 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 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 kế thừa của các lớp này là gì

Sự thật về giao diện

  • Một lớp Java có thể triển khai nhiều Giao diện Java. Lớp cần thiết để thực thi 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 thông điệp đến một đối tượng mà không liên quan đến bất kỳ 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 là 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 triển khai bất kỳ số lượng giao diện nào
  • Một giao diện không thể triển khai một giao diện khác. Nó phải mở rộng các 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ẽ báo lỗi.
  • Lớp không thể triển khai 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 lược:

  • Lớp triển khai 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 là 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 triển khai bất kỳ số lượng giao diện nào

Trong java trình biên dịch tự động thêm các từ Key công khai và trừu tượng trước các phương thức giao diện và các từ Key công khai, tĩnh và cuối cùng trước các thành viên dữ liệu.

Chúng tôi có các quy tắc sau:

  • Một giao diện không thể có một phương thức khởi tạo hoặc bạn không thể khởi tạo một giao diện.
  • Tất cả các phương thức của một giao diện là trừu tượng.
  • Một giao diện có thể kế thừa từ một giao diện khác.
  • Một giao diện không thể được kế thừa từ một lớp.
  • Một lớp chỉ có thể kế thừa từ một lớp khác, nhưng một lớp có thể được triển khai từ nhiều giao diện.
  • Bạn phải sử dụng từ Key triển khai để triển khai giao diện.

Kết luận

Cảm ơn bạn đã đọc bài viết của blog gialagi.org, hy vọng thông tin giải đáp Giao diện là gì?? Những ý nghĩa của Interface sẽ giúp bạn đọc bổ sung thêm những kiến ​​thức bổ ích. Nếu độc giả có bất kỳ đóng góp hoặc thắc mắc nào liên quan đến định nghĩa Giao diện là gì? Hãy để lại bình luận bên dưới bài viết này. XemWeb.info luôn sẵn sàng trao đổi và tiếp nhận những thông tin, kiến ​​thức mới từ bạn đọc

Xem thêm nhiều thủ thật mới tại : Thuật Ngữ