On Tue, Apr 29, 2008 at 10:28 AM, John Carter -X (johncart - PolicyApp Ltd
at Cisco) <[EMAIL PROTECTED]> wrote:

> Nathan,
>
> By example:
>
> interface EggLayer
>
> {
>    public $eggsLaid;
> }
>
> class Chicken implements EggLayer;
>
> Some would say (and maybe I would too) that you should have a
> getEggsLaid() method, that's fair enough. But why not the above?


because, from above, $eggsLaid constitutes the implementation of any class
that implements EggLayer.

You say interfaces can't have properties because they require instance
> variables.


thats fine, in fact thats what i take the two terms to mean; however, there
was an alternate definition given in an earlier post and i just wanted to
clarify whether you were referring to that definition of property.  hence
forth i understand that you are not referring to that definition.


> Why do they require instance variables?


this was only based on the aforementioned definition of properties whereby a
property is an instance variable that has respective getters and setters.
in the absence of that definition, my statement is irrelevant.


> I also think for the
> purposes of this discussion, property and instance variable mean the
> same thing.


cool, then i would say that interfaces cannot have public properties in them
because it imposes implementation requirements on any implementors.  to
specify implementation details, there is the abstract class.

-nathan

Reply via email to