Hướng dẫn sử dụng Java Interface cho người mới bắt đầu
20/06/2023 14:57
Với các giao diện trong Java, bạn có thể thêm nhiều phần kế thừa. Đây là hướng dẫn cho người mới bắt đầu sử dụng chúng
Giao diện là một loại tham chiếu được sử dụng để thực thi hợp đồng với một lớp. Hợp đồng đề cập đến nghĩa vụ thực hiện các phương thức mà giao diện xác định.
Các giao diện cung cấp sự trừu tượng giữa các phương thức mà chúng định nghĩa & cách người dùng triển khai chúng trong một lớp. Một trường hợp sử dụng thực tế của điều này là trong API (Giao diện lập trình ứng dụng).
API cho phép chương trình của bạn giao tiếp với các chương trình khác mà không cần biết chúng được triển khai như thế nào. Điều này quan trọng vì cả lý do sở hữu (đối với công ty sở hữu quyền) và để bạn dễ dàng phát triển.
Chúng ta hãy xem cách sử dụng các giao diện Java.
Xác định giao diện
Để khai báo một giao diện, hãy đặt từ khóa giao diện trước tên giao diện.
interface Car{
// constant declarations, if any
int tyres = 4;
// method signatures
int lights (int brightness);
int turn (int tyres, String direction){
// some code
}
}
Trong tiêu đề giao diện của bạn, bạn cũng có thể bao gồm mức độ hiển thị của nó trước giao diện từ khóa .
Các giá trị trong một giao diện là không đổi. Các giá trị này theo mặc định là công khai, tĩnh và cuối cùng . Do đó, không cần sử dụng các từ khóa này khi khai báo các giá trị trong phần thân của giao diện.
Phần thân của giao diện cũng có thể có các phương thức tĩnh, trừu tượng, mặc định . Các phương thức này theo mặc định là public , vì vậy không cần chỉ ra các công cụ sửa đổi truy cập này khi khai báo chúng.
Các phương thức trừu tượng được khai báo bằng cách loại bỏ các dấu ngoặc nhọn của phần thân phương thức. Xem dòng 7 trong đoạn mã trên. Các phương thức tĩnh được khai báo bằng cách tiếp tục tên phương thức với từ khóa tĩnh & các phương thức mặc định được khai báo với công cụ sửa đổi mặc định .
Bây giờ sẽ là thời điểm tốt để đề cập rằng bạn phải sử dụng các phương thức được khai báo trong một giao diện trong bất kỳ lớp nào triển khai nó. Không làm như vậy sẽ khiến trình biên dịch "thực thi hợp đồng" bằng cách đưa ra lỗi biên dịch.
Thuộc tính đặc biệt này của các giao diện có thể có một số nhược điểm. Hãy xem xét trường hợp nhà cung cấp giao diện lập trình ứng dụng (API) quyết định thêm nhiều phương thức hơn vào giao diện của họ, nhưng một số ứng dụng dựa trên giao diện cũ. Các nhà phát triển sử dụng giao diện cũ trong chương trình của họ sẽ phải viết lại mã của họ, điều này không thực tế.
Vì vậy, đó là nơi các phương thức mặc định xuất hiện. Chúng cho phép các nhà cung cấp API thêm nhiều phương thức hơn vào giao diện của họ trong khi vẫn đảm bảo khả năng tương thích nhị phân với các phiên bản giao diện cũ hơn.
default int getDirection ( String coordinates){
// write some code to give a default implementation
}
Phương thức trên cho thấy cách khai báo một phương thức mặc định gọi là getDirection . Lưu ý rằng bạn phải bao gồm việc triển khai một phương thức mặc định khi bạn viết nó.
Sử dụng giao diện
Bây giờ chúng ta đã định nghĩa các giao diện trong Java, chúng ta có thể chuyển sang cách bạn có thể triển khai chúng. Bạn sẽ tìm thấy điều này trong phần dưới đây.
Triển khai giao diện
Để triển khai giao diện, hãy sử dụng từ khóa triển khai theo cú pháp sau:
class A implements interface P{
}
Hãy nhớ rằng bạn phải sử dụng tất cả các phương thức giao diện trong lớp. Bạn chỉ có thể bỏ qua quy tắc này nếu một trong các phương thức được xác định là mặc định trong giao diện.
Nếu bạn muốn lớp của mình triển khai nhiều giao diện, bạn có thể phân tách chúng bằng dấu phẩy trong phần khai báo tiêu đề của mình.
Ví dụ:
class A implements interface P, Q, R{
}
Nếu lớp đang triển khai giao diện là một lớp con, hãy sử dụng cú pháp bên dưới:
class A extends B implements C, D{
}
Các giao diện cho phép nhiều kế thừa trong Java. Thông thường, một lớp chỉ có thể mở rộng một lớp (kế thừa đơn). Các giao diện là cách duy nhất mà Java có thể thực hiện nhiều kế thừa.
Các giao diện cũng có thể mở rộng các giao diện khác, giống như một lớp có thể mở rộng một lớp khác. Giao diện con kế thừa các phương thức của giao diện mà nó mở rộng.
Xem ví dụ dưới đây:
interface A extends B{
}
Ngoài việc sử dụng các phương pháp mặc định để sửa đổi giao diện mà không yêu cầu nhà phát triển sửa đổi chương trình hiện tại của họ, bạn cũng có thể mở rộng các giao diện hiện có.
Bây giờ bạn đã có một số kiến thức cơ bản về giao diện Java
Các giao diện trong Java thể hiện tính trừu tượng, một trong bốn trụ cột của lập trình hướng đối tượng. Đa hình là một trong bốn trụ cột đó. Nó đề cập đến khả năng của một phương pháp có nhiều hình thức.
Bạn có thể triển khai tính đa hình trong Java thông qua nạp chồng phương thức hoặc ghi đè phương thức. Tiếp theo trong danh sách đọc Java của bạn là cách triển khai các chức năng này tại blog của T3H ngay tại đây