Computer >> Máy Tính >  >> Lập trình >> PHP

Giải thích giao diện trong PHP.

Trong bài viết này, chúng tôi sẽ tìm ra cách sử dụng giao diện PHP, một trong những mẫu cấu trúc quan trọng nhất trong lập trình hướng đối tượng PHP.

Giao diện cho phép chúng tôi tạo các chương trình, chỉ ra các phương thức công khai mà một lớp phải thực thi, mà không bao gồm sự phức tạp và thủ tục về cách các phương thức cụ thể được triển khai. Điều này ngụ ý rằng một giao diện có thể xác định tên phương thức và đối số, nhưng không xác định nội dung của phương thức. Bất kỳ lớp nào triển khai giao diện đều phải triển khai tất cả các phương thức được xác định bởi giao diện.

Các giao diện được mô tả tương tự như một lớp, tuy nhiên, chỉ có từ khóa interface thay thế cụm từ lớp trong khai báo 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.

Ví dụ

Hãy 'tạo một giao diện và triển khai nó bằng một ví dụ đơn giản.

<?php
   Interface MyInterface {
      public function getName();
      public function getAge();
   }
   class MyClass implements MyFirstInterface{
      public function getName() {
            echo "My name A".'<br>';
      }
      public function getAge(){
            echo "My Age 12";
      }
   }
   $obj = new MyClass;
   $obj->getName();
   $obj->getAge();
?>

Đầu ra:

My name A
My Age 12

Giải thích:

Ở đây chúng tôi đã khai báo một giao diện MyFirstInterface với hai phương thức getName và getAge bên trong nó mà không có bất kỳ nội dung nào. Sau đó, lớp MyClass triển khai giao diện này và sử dụng các phương thức có sẵn theo yêu cầu.

Chúng ta hãy tìm hiểu một số đặc điểm quan trọng của giao diện:

  • Một giao diện bao gồm các phương thức không có nội dung, có nghĩa là các phương thức giao diện là các phương thức trừu tượng.
  • Mọi phương thức trong giao diện phải có phạm vi hiển thị công khai.
  • Các giao diện không hoàn toàn giống với các lớp vì lớp có thể kế thừa từ một lớp nhưng lớp có thể triển khai một hoặc nhiều giao diện.
  • Không thể có biến nào bên trong giao diện.

Lưu ý:

Chúng ta có thể đạt được nhiều kế thừa bằng cách sử dụng giao diện vì một lớp có thể triển khai nhiều hơn một giao diện trong khi nó chỉ có thể mở rộng một lớp.

Ví dụ

Hãy kiểm tra điều này bằng một ví dụ đơn giản.

Giao diện
<?php
   interface a{
      public function printData();
   }
   interface b{
      public function getData();
   }
   interface c extends a, b{
      public function addData();
   }
   class d implements c{
      public function printData(){
         echo "I am printing";
      }
      public function getData(){
         echo "I am reading data";
      }
      public function addData(){
         echo "I am adding"
      }
   }
   $myobj = new class d();
   $myobj->printData();
   $myobj->addData();
?>

Đầu ra:

I am printing
I am adding

Giải thích:

Ở đây chúng ta đã khai báo ba giao diện tức là 'giao diện a', 'giao diện b', 'giao diện c'.Trong trường hợp này, giao diện c cũng mở rộng hai giao diện trước đó. Sau đó, chúng tôi đã khai báo một lớp chỉ thực thi giao diện c, nhưng vì giao diện c mở rộng hai giao diện trước đó, tất cả các phương thức được khai báo trong 'giao diện a', 'giao diện b' và 'giao diện c' đều có sẵn để sử dụng trong lớp. d. Đây là cách chúng tôi có thể đạt được nhiều kế thừa bằng cách triển khai giao diện.