Ah. I see the difference. I'm expecting overloading. Hmmm. Even with
that though, overloading is the desired effect.

On 21/07/06, Soenke Ruempler <[EMAIL PROTECTED]> wrote:
Richard Quadling <mailto:[EMAIL PROTECTED]> wrote on Friday, July
21, 2006 12:28 PM:

> Shouldn't be necessary. As there are 2 different methods, they should
> be allowed different parameter signatures. If you want to extend a
> method but hide original implementation, you can't change the
> parameter signature. I'm on the opposite side of the fence to you it
> seems!

But that's not the nature of polymorphism and the predictness and
consistency of an API. For example - think of object aggregation:

public function setBlub(A $a) {
        $this->_a = $a;
}

Now because of my consistent API of class A and all derived classes I
exactly know the methods and parameters, even if B (as child class of A)
is passed to "setBlub()".

So maybe from your POV it's two different methods (and yes, it IS
*technically*). But from OOP and API design view it is polymorphism and
consistency, if I didn't failed all OOP lessons and design pattern books
;)

-soenke



--
-----
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

Reply via email to