On 19 Sep 2008, at 15:58, Johannes Mueller wrote:
Stut wrote:
outputs:
B implements I
I would expect the following output:
A implements I
B implements I
Because there is a big difference between extends and implements, one
of which being that the class is not considered to be a subclass of
an interface it implements. Seems entirely logical to me.
But B is also no subclass of I - it just implements I as well as A.
So there could be two possible straight solutions:
1. Neither A nor B is a subclass of I.
2. Both A and B are subclasses of I.
A implements I therefore A *is not* a subclass of I.
B extends I therefore B *is* a subclass of I.
In the case of A it's simply stating that it implements every method
defined by I.
B on the other hand does not necessarily implement the methods
defined in I, but those methods will still be available on instances
of B but the code in I will be used.
I don't see what's difficult to understand here.
-Stut
--
http://stut.net/
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php