解释PHP中的接口。

在本文中,我们将探讨如何利用PHP接口,它是PHP面向对象编程中最重要的结构模式之一。

接口使我们能够编写程序,指示类必须执行的公共方法,而无需包括实现特定方法的复杂性和过程。这意味着接口可以定义方法名称和参数,但不能定义方法的内容。任何实现接口的类都必须实现该接口定义的所有方法。

接口的特征类似于类,但是,只有interface关键字替换声明中的类短语,并且没有定义任何方法的内容。

示例

让我们创建一个接口并通过一个简单的示例实现它。

<?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();
?>

输出:

My name A
My Age 12

说明:

在这里,我们声明了一个接口MyFirstInterface,其中包含两个方法getName和getAge,其中没有任何内容。然后,类MyClass实现此接口,并根据需要使用可用的方法。

让我们学习界面的一些重要特征:

  • 接口由没有内容的方法组成,这意味着接口方法是抽象方法。

  • 接口中的每种方法都必须具有公共可见性范围。

  • 接口与类并不完全相同,因为该类可以从一个类继承,但是该类可以实现一个或多个接口。

  • 接口内不能存在任何变量。

注意:

我们可以利用接口实现多重继承,因为一个类可以实现多个接口,而只能扩展一个类。

示例

让我们用一个简单的例子进行测试。

<?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();
?>

输出:

I am printing
I am adding

说明:

这里我们声明了三个接口,即'interface a','interface b','interface c'。在这种情况下,interface c还扩展了前两个接口。然后,我们声明了一个仅实现接口c的类,但是随着接口c扩展前两个接口,在“接口a”,“接口b”和“接口c”中声明的所有方法都可以在该类中使用。 d。这就是我们通过实现接口可以实现多重继承的方式。