Hướng dẫn define an interface for stack operation implement this interface in a class in php - xác định một giao diện cho hoạt động ngăn xếp triển khai giao diện này trong một lớp trong php

PHP - Giao diện là gì?

Giao diện cho phép bạn chỉ định những phương thức nào mà một lớp nên thực hiện.

Các giao diện giúp dễ dàng sử dụng nhiều lớp khác nhau theo cùng một cách. Khi một hoặc nhiều lớp sử dụng cùng một giao diện, nó được gọi là "đa hình".

Các giao diện được khai báo với từ khóa interface:

Cú pháp

PHP - Giao diện so với các lớp trừu tượng

Giao diện tương tự như các lớp trừu tượng. Sự khác biệt giữa các giao diện và các lớp trừu tượng là:

  • Các giao diện không thể có thuộc tính, trong khi các lớp trừu tượng có thể
  • Tất cả các phương thức giao diện phải được công khai, trong khi các phương thức lớp trừu tượng được công khai hoặc được bảo vệ
  • Tất cả các phương thức trong giao diện đều trừu tượng, vì vậy chúng không thể được thực hiện trong mã và từ khóa trừu tượng là không cần thiết
  • Các lớp có thể triển khai giao diện trong khi kế thừa từ một lớp khác cùng một lúc

PHP - Sử dụng giao diện

Để thực hiện giao diện, một lớp phải sử dụng từ khóa implements.

Một lớp thực hiện giao diện phải thực hiện tất cả các phương thức của giao diện.all of the interface's methods.

Thí dụ


$animal->makeSound[];
?>

Hãy tự mình thử »

Từ ví dụ trên, hãy nói rằng chúng tôi muốn viết phần mềm quản lý một nhóm động vật. Có những hành động mà tất cả các động vật có thể làm, nhưng mỗi con vật làm điều đó theo cách riêng của nó.

Sử dụng giao diện, chúng ta có thể viết một số mã có thể hoạt động cho tất cả các động vật ngay cả khi mỗi con vật cư xử khác nhau:

Thí dụ


  public function makeSound[] {
    echo " Bark ";
  }
}

Hãy tự mình thử »
  public function makeSound[] {
    echo " Squeak ";
  }
}

Từ ví dụ trên, hãy nói rằng chúng tôi muốn viết phần mềm quản lý một nhóm động vật. Có những hành động mà tất cả các động vật có thể làm, nhưng mỗi con vật làm điều đó theo cách riêng của nó.
$cat = new Cat[];
$dog = new Dog[];
$mouse = new Mouse[];
$animals = array[$cat, $dog, $mouse];

Sử dụng giao diện, chúng ta có thể viết một số mã có thể hoạt động cho tất cả các động vật ngay cả khi mỗi con vật cư xử khác nhau:
foreach[$animals as $animal] {
  $animal->makeSound[];
}
?>

Hãy tự mình thử »

Từ ví dụ trên, hãy nói rằng chúng tôi muốn viết phần mềm quản lý một nhóm động vật. Có những hành động mà tất cả các động vật có thể làm, nhưng mỗi con vật làm điều đó theo cách riêng của nó.

Sử dụng giao diện, chúng ta có thể viết một số mã có thể hoạt động cho tất cả các động vật ngay cả khi mỗi con vật cư xử khác nhau:

// lớp định nghĩa class Cat thực hiện động vật {& nbsp; hàm công khai [] {& nbsp; & nbsp; & nbsp; tiếng vang "meow"; & nbsp; }}



Giao diện có thể thực hiện một giao diện khác PHP không?

Thực hiện 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. 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.

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.

Một lớp thực hiện giao diện có thể sử dụng một tên khác cho các tham số của nó so với giao diện. Tuy nhiên, kể từ Php 8.0, ngôn ngữ hỗ trợ các đối số có tên, có nghĩa là người gọi có thể dựa vào tên tham số trong giao diện. Vì lý do đó, chúng tôi khuyến nghị các nhà phát triển sử dụng cùng tên tham số giống như giao diện đang được triển khai.:

Ghi chú:

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.

Một lớp thực hiện giao diện có thể sử dụng một tên khác cho các tham số của nó so với giao diện. Tuy nhiên, kể từ Php 8.0, ngôn ngữ hỗ trợ các đối số có tên, có nghĩa là người gọi có thể dựa vào tên tham số trong giao diện. Vì lý do đó, chúng tôi khuyến nghị các nhà phát triển sử dụng cùng tên tham số giống như giao diện đang được triển khai.:

Ghi chú:

Một lớp thực hiện giao diện có thể sử dụng một tên khác cho các tham số của nó so với giao diện. Tuy nhiên, kể từ Php 8.0, ngôn ngữ hỗ trợ các đối số có tên, có nghĩa là người gọi có thể dựa vào tên tham số trong giao diện. Vì lý do đó, chúng tôi khuyến nghị các nhà phát triển sử dụng cùng tên tham số giống như giao diện đang được triển khai.:

Ghi chú:

implements0

Các giao diện có thể được mở rộng như các lớp sử dụng toán tử mở rộng.

Lớp thực hiện giao diện phải khai báo tất cả các phương thức trong giao diện với chữ ký tương thích.

Nó có thể cho các giao diện có hằng số. Hằng số giao diện hoạt động chính xác như hằng số lớp. Trước Php 8.1.0, chúng không thể bị ghi đè bởi một lớp/giao diện kế thừa chúng.

implements1

implements2

implements3

Ví dụ

implements4

interface

implements6

Ví dụ về giao diện số 1

implements4

interface

implements9

Ví dụ #2 Giao diện có thể mở rộng

makeSound[]0

class

makeSound[]2

Ví dụ #3 Di truyền giao diện nhiều

makeSound[]3

makeSound[]4

makeSound[]5

Ví dụ #4 Giao diện với hằng số

makeSound[]6

interface

makeSound[]8

Ví dụ #5 Giao diện với các lớp trừu tượng

Ví dụ #6 mở rộng và thực hiện đồng thời

Một giao diện, cùng với các khai báo loại, cung cấp một cách tốt để đảm bảo rằng một đối tượng cụ thể chứa các phương thức cụ thể. Xem InstanceOf toán tử và khai báo loại.

makeSound[]9

interface0

interface1

interface2

Thanhn2001 tại gmail dot com

11 năm trước

interface3

vcnbianchi ¶

9 tháng trước

interface4

interface5

interface6

Giao diện và triển khai trong PHP là gì?

Giao diện PHP xác định một hợp đồng mà một lớp phải thực hiện. Nếu một lớp PHP là bản thiết kế cho các đối tượng, giao diện là bản thiết kế cho các lớp. Bất kỳ lớp nào thực hiện một giao diện nhất định đều có thể được dự kiến ​​có hành vi tương tự về những gì có thể được gọi, cách gọi nó và những gì sẽ được trả lại.. If a PHP class is a blueprint for objects, an interface is a blueprint for classes. Any class implementing a given interface can be expected to have the same behavior in terms of what can be called, how it can be called, and what will be returned.

Giao diện trong PHP giải thích với ví dụ là gì?

PHP - Giao diện là gì? Giao diện cho phép bạn chỉ định những phương thức nào mà một lớp nên thực hiện. Các giao diện giúp dễ dàng sử dụng nhiều lớp khác nhau theo cùng một cách. Khi một hoặc nhiều lớp sử dụng cùng một giao diện, nó được gọi là "đa hình".allow you to specify what methods a class should implement. Interfaces make it easy to use a variety of different classes in the same way. When one or more classes use the same interface, it is referred to as "polymorphism".

Một trong những từ khóa sau được sử dụng để xác định các phương thức giao diện trong lớp trong PHP?

Nhiều giao diện có thể được thực hiện bởi một lớp duy nhất.Từ khóa "Giao diện" được sử dụng để khai báo giao diện."interface" is used to declare an interface.

Giao diện có thể thực hiện một giao diện khác PHP không?

Thực hiện 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.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.Classes may implement more than one interface if desired by separating each interface with a comma. A class can implement two interfaces which define a method with the same name, only if the method declaration in both interfaces is identical.

Bài Viết Liên Quan

Chủ Đề