我遇到了一些由同事编写的PHP代码(它没有用于任何东西)。基本上它是一个包含抽象方法的接口。然后我说这是愚蠢的,并且显示另一位同事坐在我旁边。我们笑了,但后来开始互相询问是否有可能,如果是的话,它是否真的有用。显然这是不可能的(见下面的例子),但如果有可能会有用。
你能想到这可能有用的情况吗?
<?php
interface Itest
{
abstract public function add(int $x, int $y);
}
abstract class ParentTest implements Itest
{
abstract public function add(int $x, int $y);
}
class test extends ParentTest
{
public function add(int $x, int $y)
{
return $x+$y;
}
}
$w = new test;
echo $w->add(5,8);
?>
答案 0 :(得分:3)
根据定义,界面中的所有方法都是抽象的。
抽象方法是提供原型但未实现的方法。它强制子类实现它,或者声明为abstract。
答案 1 :(得分:1)
不,它没用。他应该使用抽象类或只使用简单的接口。
接口方法基本上都是抽象的,所以使用抽象接口方法没有多大意义。