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