There's a big difference.
Inherited classes should adhere to the instanceof operator. Meaning that if
you get an object you can check if it's an instance of another class and if
so, you can call it *exactly* the way you could the parent class. This
allows for good polymorphic design in applications. Allowing subclasses to
change a function's signature to be incompatible with its parent would break
this rule (you can use default arguments to resolve some of these cases as
instanceof remains).
For constructors it actually makes sense because at the time of
instantiaton, you know what the concrete class is. It is very common for
constructors to be very much different in polymorphic classes.

Andi

> -----Original Message-----
> From: Richard Quadling [mailto:[EMAIL PROTECTED] 
> Sent: Friday, July 21, 2006 3:43 AM
> To: internals@lists.php.net
> Subject: Re: [PHP-DEV] RfC: rethink OO inheritance strictness
> 
> Exactly. Consistency.
> 
> On 21/07/06, Daine Mamacos <[EMAIL PROTECTED]> wrote:
> > If a constructor gets overridden, why should it not be the same 
> > behaviour with all methods?
> >
> --
> -----
> Richard Quadling
> Zend Certified Engineer : 
> http://zend.com/zce.php?c=ZEND002498&amp;r=213474731
> "Standing on the shoulders of some very clever giants!"
> 
> --
> PHP Internals - PHP Runtime Development Mailing List To 
> unsubscribe, visit: http://www.php.net/unsub.php
> 

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

Reply via email to