Hướng dẫn what is the interface in php? - giao diện trong php 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".

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

Cú pháp

interface InterfaceName {
  public function someMethod1();
  public function someMethod2($name, $color);
  public function someMethod3() : string;
}
?>


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ụ

interface Animal {
  public function makeSound();
}

Lớp mèo thực hiện động vật {& nbsp; hàm công khai () {& nbsp; & nbsp; & nbsp; tiếng vang "meow"; & nbsp; }}
  public function makeSound() {
    echo "Meow";
  }
}

$ animal = new Cat (); $ Animal-> makeOund ();?>
$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ụ

// Interface definition
interface Animal {
  public function makeSound();
}

Lớp mèo thực hiện động vật {& nbsp; hàm công khai () {& nbsp; & nbsp; & nbsp; tiếng vang "meow"; & nbsp; }}
class Cat implements Animal {
  public function makeSound() {
    echo " Meow ";
  }
}

$ animal = new Cat (); $ Animal-> makeOund ();?>
  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; }}



Tóm tắt và giao diện trong PHP là gì?

Một lớp giao diện chỉ chứa các thành viên chưa hoàn chỉnh đề cập đến chữ ký của thành viên. Lớp trừu tượng chứa cả hai thành viên không đầy đủ (nghĩa là Tóm tắt) và hoàn chỉnh. Vì mọi thứ được coi là công khai, một lớp giao diện không có bộ sửa đổi truy cập theo mặc định.

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.:

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.

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 ¶

10 tháng trước

interface4

interface5

interface6

Tại sao giao diện được sử dụng 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".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".

Bạn có nghĩa là gì về giao diện?

1: Một bề mặt tạo thành một ranh giới chung của hai cơ thể, không gian hoặc pha một giao diện giữa dầu và nước.2A: Nơi mà các hệ thống độc lập gặp gỡ và hành động hoặc liên lạc với nhau.B: Các cách mà tương tác hoặc giao tiếp được đưa ra tại một giao diện.a surface forming a common boundary of two bodies, spaces, or phases an interface between oil and water. 2a : the place at which independent systems meet and act on or communicate with each other. b : the ways by which interaction or communication is brought about at an interface.

Giao diện trong OOP là gì?

Trong lập trình hướng đối tượng, một giao diện là một mô tả về tất cả các hàm mà một đối tượng phải có để trở thành "x".Một lần nữa, như một ví dụ, bất cứ điều gì "hoạt động như" ánh sáng, nên có phương thức Turn_on () và phương thức Turn_off ().a description of all functions that an object must have in order to be an "X". Again, as an example, anything that "ACTS LIKE" a light, should have a turn_on() method and a turn_off() method.

Tóm tắt và giao diện trong PHP là gì?

Một lớp giao diện chỉ chứa các thành viên chưa hoàn chỉnh đề cập đến chữ ký của thành viên.Lớp trừu tượng chứa cả hai thành viên không đầy đủ (nghĩa là Tóm tắt) và hoàn chỉnh.Vì mọi thứ được coi là công khai, một lớp giao diện không có bộ sửa đổi truy cập theo mặc định.