At 09:30 21/08/2002, Ben Dischinger wrote:
>You don't quite get the same functionality from extending a class as you
>would from implementing an interface.  If I'm extending temperature what
>keeps me as a user from not overriding any of those functions? Or what if I
>want to extend a different class but still define my class as having those
>functions found in temperature?  Having interfaces is a nice way to skirt
>the issue of not having multiple inheritance built into the language.

Interfaces, IMHO, simply do not fit the spirit of PHP.  PHP is extremely 
loose about what it 'demands' from the programmer.  You don't have types, 
you don't have to declare variables.  But suddenly, we would have a 
construct that 'requires' you to implement certain functions?  Ok fine, so 
you would have to implement a certain set of functions, but given the loose 
typing, what does that buy you anyway?  You can't force him to return what 
you expect, or even deal with the arguments you send him according to their 
intended type.

I don't see interfaces as something which makes too much sense in the 
context of PHP, and considering the added complexity of adding such a new 
feature, I'm against it.  Typically, the argument is between single 
inheritance with interfaces, and multiple inheritance.  We went for a 
multiple-inheritancish approach with delegation, and I don't think we 
should overcomplicate it with interfaces.

Zeev


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to