在本文中,我们将探讨如何利用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。这就是我们通过实现接口可以实现多重继承的方式。