On 20 Apr 2004 at 17:38, Stanislav Malyshev wrote:
> FB>>interface A {
> FB>> public function doSomething($integer1, $integer2);
> FB>>}
> FB>>
> FB>>interface B {
> FB>> public function doSomething(MyObject $obj);
> FB>>}
> FB>>
> FB>>class Impl implements A, B
> FB>>{
> FB>> // "Overloaded" - supports both doSomething() interfaces
> FB>> public function doSomething()
> FB>> {
> FB>> // Use var_args to distinquish the two doSomething()'s
> FB>> }
> FB>>}
>
> The problem here that you can't know if Impl would actually accept
> MyObject or two integers as arguments. So if some method
requires object
> with interface A and it's passed Impl, it cannot actually be sure it
can
> use it as an A object.
Impl guarantees that by implementing interface A.
What if Impl::doSomething() would accept exactly two parameters,
but expects them to be arrays?
IMO you cannot enforce this strictness with loose types...
--
Ferdinand Beyer
<[EMAIL PROTECTED]>
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php