Подсказки типа Php не появляются наряду с интерфейсами и абстрактными классами?

Я думаю, будет намного легче увидеть проблему в примере кода, чем писать вопрос в первую очередь. Вот мой код php:

<?php

interface AnInterface
{
        public function method();
}    

class AClass implements AnInterface
{
        public function method()
        {
                echo __METHOD__;
        }
}    

abstract class AnAbstractClass
{
        abstract public function method( AnInterface $Object );
}

class ConcreteClass extends AnAbstractClass
{
        public function method( AClass $Object )
        {
                $Object->method();
        }
}

$Object1 = new ConcreteClass();
$Object2 = new AClass();

$Object1->method( $Object2 );

Приведенный выше код вызывает следующую ошибку:

Неустранимая ошибка: объявление ConcreteClass :: method () должно быть совместимо с объявлением AnAbstractClass :: method ()

Проблема в том, что php, похоже, не распознает подписи AnAbstractClass :: method и ConcreteClass :: method как совместимые. Я делаю что-то неправильно? Спасибо!

16
задан meagar 30 December 2010 в 23:36
поделиться