So does this mean that I can then do:

Class BusyBoardMember implements Employee, BoardMember
{
        function position() {
                // code for Employee implementation;
      }
        function position() {
        // code for BoardMember implementation;
      } 
}

And if I only implement position() once then it will return an error?

This seems more than a little confusing, and like it could cause serious
mistakes down the road (during maintenance, etc)

-Javier


-----Original Message-----
From: Robert Cummings [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, September 23, 2003 11:23 AM
To: Javier Muniz
Cc: '[EMAIL PROTECTED]'
Subject: Re: [PHP] PHP5 interfaces?


On Tue, 2003-09-23 at 14:01, Javier Muniz wrote:
> What I meant was not the implementation, what I meant was that there 
> was no way for the compiler/parser to know whether I was implementing 
> position() from the Employee interface or the BoardMember interface, 
> the declaration was ambiguous.

I would imagine priority would be based on the order of the named
interfaces. Thus in your example it would use the Employee position()
method.

Cheers,
Rob.

> 
> If I implement the function there, then (from what I can tell) it 
> becomes the position member for both the BoardMember interface AND the 
> Employee interface.  While this might be desired in some cases, it's 
> definitely not desired in all cases, so there needs to be some other 
> identifier (such as the implements keyword followed by which 
> interface(s) this function should be used for).
> 
> PHP5 may have such an identifier, but I have not found any 
> documentation at this point...
> 
> -Javier
> 
> Marek Kilimajer wrote:
> 
> > interface BoardMember
> > {
> >     function position(); // used to set board position of board 
> > member } interface Employee
> > {
> >     function position();  // used to set job title of employee
> > }
> >  
> > class BusyBoardMember implements Employee, BoardMember
> > {
> >     function position();  // what does this function do? ambiguous
unless
> I
> > am missing something
> > }
> 
> It is not ambiguous, you should implement the function here.
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 
-- 
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting  | a 
| powerful, scalable system for accessing system services  | such as 
| forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for       |
| creating re-usable components quickly and easily.          |
`------------------------------------------------------------'

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to