Interface là gì? Đặc điểm của Interface?

Interface là gì? Đặc điểm của Interface

Chia sẻ kiến thức 03/04/2022

Bạn đã biết Interface là gì chưa? Và đặc điểm của Interface như thế nào? Trong nội dung bài viết dưới đây, FUNiX sẽ giải đáp cụ thể để các bạn lập trình viên có thể ứng dụng tốt cho việc học tập và công việc hàng ngày của mình.  

>> Khóa học lập trình cơ bản

>> Kỹ thuật lập trình PHP

Interface là một phần của java nên trong lập trình cụm từ này được nhắc đến khá nhiều.

1. Khái niệm Interface là gì?

Trong lập trình hướng đối tượng, Interface được hiểu là một lớp vỏ bên ngoài của các hàm nhỏ lẻ. Bằng cách lập trình, chúng ta có thể liên kết nhiều Interface để các hàm kết nối với nhau. Đây được xem là một khuôn mẫu và để tạo ra được kết quả như ý muốn đòi hỏi các hành động phải tuân thủ theo khuôn mẫu này.

Bạn có thể hiểu đơn giản như sau: một interface không phải là một lớp, nó chỉ giống như viết một lớp, nhưng thực tế chúng lại có 2 định nghĩa khác nhau. Trong đó, một lớp mô tả các thuộc tính và hành vi của một đối tượng. Còn một lớp chứa các hành vi mà một class triển khai.Interface  là một lớp vỏ bên ngoài của các hàm nhỏ lẻ

Interface  là một lớp vỏ bên ngoài của các hàm nhỏ lẻ.

Trong java, Interface là một hệ thống giao diện. Thông qua cách sử dụng, chúng ta có thể kế thừa nhiều lớp Interface để tạo thành một lớp hoàn toàn mới.

Cú pháp khai báo Interfaces trong Java:

interface interface-name

{

  //abstract methods

}

Ví dụ sử dụng Interface trong Java:

Shape.java

public interface Shape {String color = “red”;void draw();}Rectangle.java

public class Rectangle implements Shape {

Override Public void draw() {System.out.println(“Draw ” + color + ” rectangle”);}}Circle.java

public class Circle implements Shape {

Override Public void draw() {System.out.println(“Draw ” + color + ” circle”);}}ShapeApp.java

public class ShapeApp {public static void main(String<> args) {Shape rect = new Rectangle();rect.draw();System.out.println(“—“);Shape circle = new Circle();circle.draw();}}Kết quả:

Nếu không có chuyên môn, bạn khó có thể hiểu rõ về Interface. Bởi khái niệm này quá trừu tượng, khoa học và thuộc về thuật ngữ chuyên ngành.

2. Các đặc điểm của Interface trong lập trình

Trong lập trình đối tượng, Interface có nhiều đặc điểm riêng biệt bao gồm:

  • Interface chỉ chứa hoạt động lập trình khai báo thông thường. Nó không thể chứa các phương thức thuần ảo chứa các phần định nghĩa riêng biệt.
  • Người lập trình không cần nhập từ khóa khai báo, bao gồm cả keyword abstract và override.
  • Tất cả các thành phần Interface trong lập trình đối tượng đều ở dạng công khai. Vì vậy, người lập trình không thể cài đặt báo cáo về vi phạm truy cập với bên thứ 3.
  • Interface có thể chứa rất nhiều hàm bên trong nhưng không thể chứa các biến nào khác, kể cả biến hằng số đến các loại biến tĩnh.
  • Interface không thể chứa các các phương thức đặc biệt nào khác dùng trong việc khởi tạo đối tượng. Bởi, Interface không thể tự trả về lớp giao điện đầu tiên mà nó được cấp quyền định nghĩa. Kể cả phương thức constructor hay destructor đều không thể được.
  • Ở chiều hướng rộng hơn, các lớp (class) có thể được thực thi cho phép lập trình nhiều loại interface tại cùng một thời điểm. Bởi vì, xét theo khía cạnh khác thì hành động này mang tính đa kế thừa của interface.
  • Một đặc điểm nữa của interface phải kể đến chính là khả năng có thể kế thừa từ nhiều loại interface khác trên cùng hệ thống. Tuy nhiên, interface lại không thể thực hiện việc kế thừa với bất kỳ một lớp nào cả.
Interface có nhiều đặc điểm riêng biệt
Interface có nhiều đặc điểm riêng biệt.

Tóm lại, những đặc điểm chính bạn cần nhớ về Interface là: Các method được khai báo trong Interface phải là method rỗng. Không thể tạo đối tượng từ Interface. Và một Class có thể implement một hoặc nhiều Interface.

Trên đây là một số thông tin giải đáp cho câu hỏi Interface là gì? Và đặc điểm của Interface như thế nào được FUNiX tổng hợp từ nhiều nguồn đáng tin cậy. Hy vọng nội dung bài viết này sẽ giúp việc lập trình của bạn trở nên dễ dàng và nhanh chóng hơn.

Phạm Thị Thanh Ngọc

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
FUNiX V2 GenAI Chatbot ×

yêu cầu gọi lại