Hướng dẫn what are php interfaces? - giao diện php là gì?

Giao diện đối tượng cho phép bạn tạo mã chỉ định phương thức nào một lớp phải thực hiện, mà không phải xác định cách thực hiện các phương thức này. Giao diện chia sẻ một không gian tên với các lớp và đặc điểm, vì vậy chúng không được sử dụng cùng tên.

Các giao diện được xác định theo cách tương tự như một lớp, nhưng với từ khóa interface thay thế từ khóa class và không có bất kỳ phương thức nào có nội dung của chúng được xác định.

Tất cả các phương thức được khai báo trong một giao diện phải được công khai; Đây là bản chất của một giao diện.

Trong thực tế, các giao diện phục vụ hai mục đích bổ sung:

  • Để cho phép các nhà phát triển tạo các đối tượng của các lớp khác nhau có thể được sử dụng thay thế cho vì chúng thực hiện cùng một giao diện hoặc giao diện. Một ví dụ phổ biến là nhiều dịch vụ truy cập cơ sở dữ liệu, nhiều cổng thanh toán hoặc các chiến lược bộ đệm khác nhau. Các triển khai khác nhau có thể được hoán đổi mà không yêu cầu bất kỳ thay đổi nào đối với mã sử dụng chúng.
  • Để cho phép một hàm hoặc phương thức chấp nhận và hoạt động trên một tham số phù hợp với giao diện, trong khi không quan tâm đến những gì đối tượng có thể làm hoặc cách nó được thực hiện. Các giao diện này thường được đặt tên như Iterable, Cacheable, Renderable hoặc vì vậy để mô tả tầm quan trọng của hành vi.

Các giao diện có thể xác định các phương thức ma thuật để yêu cầu thực hiện các lớp để thực hiện các phương thức đó.

Ghi chú::

Mặc dù chúng được hỗ trợ, bao gồm các hàm tạo trong giao diện không được khuyến khích mạnh mẽ. Làm như vậy làm giảm đáng kể tính linh hoạt của đối tượng thực hiện giao diện. Ngoài ra, các nhà xây dựng không được thực thi bởi các quy tắc thừa kế, có thể gây ra hành vi không nhất quán và bất ngờ.

implements

Để thực hiện giao diện, toán tử implements được sử dụng. Tất cả các phương thức trong giao diện phải được thực hiện trong một lớp; Không làm như vậy sẽ dẫn đến một lỗi nghiêm trọng. Các lớp có thể triển khai nhiều hơn một giao diện nếu muốn bằng cách tách từng giao diện bằng dấu phẩy.

Cảnh báo

Một lớp có thể triển khai hai giao diện xác định một phương thức có cùng tên, chỉ khi khai báo phương thức trong cả hai giao diện là giống hệt nhau.

Cảnh báo

Một lớp có thể triển khai hai giao diện xác định một phương thức có cùng tên, chỉ khi khai báo phương thức trong cả hai giao diện là giống hệt nhau.

Ghi chú::

Mặc dù chúng được hỗ trợ, bao gồm các hàm tạo trong giao diện không được khuyến khích mạnh mẽ. Làm như vậy làm giảm đáng kể tính linh hoạt của đối tượng thực hiện giao diện. Ngoài ra, các nhà xây dựng không được thực thi bởi các quy tắc thừa kế, có thể gây ra hành vi không nhất quán và bất ngờ.

Ghi chú::

Mặc dù chúng được hỗ trợ, bao gồm các hàm tạo trong giao diện không được khuyến khích mạnh mẽ. Làm như vậy làm giảm đáng kể tính linh hoạt của đối tượng thực hiện giao diện. Ngoài ra, các nhà xây dựng không được thực thi bởi các quy tắc thừa kế, có thể gây ra hành vi không nhất quán và bất ngờ.

Constants

Để thực hiện giao diện, toán tử implements được sử dụng. Tất cả các phương thức trong giao diện phải được thực hiện trong một lớp; Không làm như vậy sẽ dẫn đến một lỗi nghiêm trọng. Các lớp có thể triển khai nhiều hơn một giao diện nếu muốn bằng cách tách từng giao diện bằng dấu phẩy.

Cảnh báo

Một lớp có thể triển khai hai giao diện xác định một phương thức có cùng tên, chỉ khi khai báo phương thức trong cả hai giao diện là giống hệt nhau.

Bài Viết Liên Quan

Chủ Đề