> за очевидностью этот пример даже не приводил
для вас очевидно, для других совсем не очевидно, что два класса могут разделять интерфейс и не иметь общего предка.
Этот интерфейс будет определять общее поведение всех своих наследников
Я думаю, что понятия стоит разделять.
Интерфейс — это интерфейс, он ничего не говорит о реализации.
А поведение — реализация, которой интерфейс лишен.
Все таки, пример с циклом не показателен в PHP. В массив можно поместить объекты, которые не реализуют одинаковый интерфейс, но имеют одноименные методы. Надо было привести пример с функцией, требующей в качестве параметра объект, реализующий определенный интерфейс.
Еще не плохо бы привести пример с наследованием интерфейса, а не класса.
смотря что вы понимаете под определением интерфейса…
Не вижу противоречия в том, что каждый класс объявляет и реализует свой интерфейс.
PHP не может проконтролировать это на этапе компиляции, посколько еще не известен тип значения переменной.
для вас очевидно, для других совсем не очевидно, что два класса могут разделять интерфейс и не иметь общего предка.
Я думаю, что понятия стоит разделять.
Интерфейс — это интерфейс, он ничего не говорит о реализации.
А поведение — реализация, которой интерфейс лишен.
Все таки, пример с циклом не показателен в PHP. В массив можно поместить объекты, которые не реализуют одинаковый интерфейс, но имеют одноименные методы. Надо было привести пример с функцией, требующей в качестве параметра объект, реализующий определенный интерфейс.
Еще не плохо бы привести пример с наследованием интерфейса, а не класса.
статья должна соответствовать названию, то есть быть про полиморфизм
уже
P.S.
Если есть еще хабражители, знакомые с ситуацией на западе — расскажите.
$s = rtrim($s, "\r\n");
http://money.yandex.ru/doc.xml?id=522951
У кого-то оно есть и возможность доступа из PHP может быть полезным.