top of page
Tuyen Nguyen

Interface trong OOP

Đã cập nhật: 30 thg 6, 2024


Interface là gì?


Interface trong Java là một loại tham chiếu, tương tự như một lớp, chỉ có thể chứa hằng số, các phương thức không có nội dung, phương thức mặc định, phương thức tĩnh và các loại lồng nhau. Nó đại diện cho một contract về những gì một lớp có thể làm, mà không chỉ định cách thức thực hiện. Về cơ bản, một interface xác định một tập hợp các phương thức mà một lớp thực hiện giao diện đó phải triển khai.


Tại sao sử dụng Interfaces?


Interfaces cung cấp một cách để đạt được trừu tượng hóa và thiết lập một API chung giữa các lớp không liên quan. Chúng kích hoạt tính đa hình, cho phép các đối tượng của các lớp khác nhau được xử lý có thể hoán đổi nếu chúng thực hiện cùng một interface. Điều này thúc đẩy việc tái sử dụng code, linh hoạt và tinh gọn trong các chương trình.


Khai báo và Triển khai Interfaces


Để khai báo một interface trong Java, bạn sử dụng từ khóa `interface` theo sau là tên của interface và các phương thức không có nội dung của nó. Dưới đây là một ví dụ đơn giản:


Declaring and Implementing Interfaces
Declaring and Implementing Interfaces

Trong ví dụ này, chúng ta xác định một interface `Animal` với một phương thức duy nhất `makeSound()`. Cả lớp `Dog` và `Cat` đều triển khai `interface` này bằng cách cung cấp triển khai của riêng họ cho phương thức `makeSound()`.


Sử dụng Interfaces cho tính đa hình


Một trong những lợi ích chính của interfaces là kích hoạt hành vi đa hình. Điều này có nghĩa là một biến của kiểu interface có thể tham chiếu đến bất kỳ đối tượng nào triển khai interface đó. Xem xét ví dụ sau:


Using Interfaces for Polymorphism
Using Interfaces for Polymorphism

Ở đây, `dog` và `cat` đều có kiểu `Animal`, nhưng chúng có thể chứa các instance của `Dog` và `Cat` tương ứng. Điều này chứng minh tính đa hình trong hành động, khi phương thức `makeSound()` được gọi trên mỗi đối tượng và triển khai thích hợp được thực thi dựa trên loại thực sự của đối tượng


Conclusion


Interfaces là một khái niệm cơ bản trong OOP, cung cấp một cơ chế mạnh mẽ cho trừu tượng hóa, tính đa hình và tổ chức code. Bằng cách xác định các contract mà các lớp phải tuân theo, interfaces giúp tạo ra các cơ sở mã linh hoạt. Hiểu cách sử dụng interfaces một cách hiệu quả là rất quan trọng để viết các chương trình sạch sẽ, dễ bảo trì và mở rộng được.


Comentarios


bottom of page