Comparare.php
<?php
interface Comparare{
public function compara(self $a);
}
?>
clasa.php
<?php
class Clasa implements Comparare{
public $v;
public function compara(self $a){
if($this->v < $a->v)
{
return -1;
}
else if($this->v==$a->v)
{
return 0;
}
else
{
return 1;
}
}
function __construct($a){
$this->v=$a;
}
}
?>
test.php
<?php
function __autoload($class_name){
require_once ($class_name) . ".php";
}
function maxim(Comparare $a,Comparare $b){
if ($a->compara($b)<0){
return $b;
}
else {
return $a;
}
}
$x=new Clasa(7);
$y=new Clasa(8);
$max=maxim($x,$y);
echo "maximul este:" . $max;
?>
Fatal error: Declaration of Clasa::compara() must be compatible with Comparare::compara(Comparare $a) in D:\xammp\htdocs\php\clase\comparare\clasa.php on line 3Декларация класса должна быть совместима с интерфейсом
Я использую XAMPP 3.2.2 (PHP Version 5.5.33)
Ваш код несколько путается с английскими и испанскими (?) Идентификаторами, смешанными подобным образом. Лучше придерживайтесь только английского языка для согласованности, потому что весь язык и стандартная библиотека находятся на английском языке. –
Мой код написан на румынском языке. Это не проблема. –
Вы не думаете, что это выглядит странно, когда половина кода на английском и половина на румынском языке? –