Я столкнулся с некоторым кодом 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);
?>
Что именно вы нас спрашиваете? Абстрактное ключевое слово или скалярный тип намека? – ryeguy
Я спрашиваю, думаете ли вы, что интерфейс, содержащий абстрактные методы, может оказаться полезным. У вас будут абстрактные классы, которые реализуют определенный интерфейс. – gprime
Затем вы должны удалить подсказки типа «int». Вы не можете набирать подсказки на скалярах в php. – ryeguy