Re: php 5 classes: public, protected and private
- From: "Tony Marston" <tony@xxxxxxxxxxxxxxxxxx>
- Date: Tue, 28 Nov 2006 10:23:47 -0000
"Michael Fesser" <netizen@xxxxxx> wrote in message
news:fdvmm2hngste2mc3v3q50g23ggkra6u2js@xxxxxxxxxx
.oO(Tony Marston)
Intefaces are not necessary in PHP. Once you have defined a method it is a
total waste to time to also define an interface. Interfaces are a "fix" in
those languages as a means of dealing with optional arguments and statyic
typing. PHP has ifferent ways of dealing with bth of these, therefore
interfaces serve no useful purpose.
What's called an interface in PHP is a completely different mechanism
than what you described above.
I disagree. It is possible to define a function (method) within a class,
then to define a separate thng called an "interface". It is possible access
he function without using the interface, therefore the inteface is not
necessary.
Wrong. Encapsulation means that the data and the functions which operate
on
that data are contained (encapsulated) within a single object. While the
methods (functions) thenselves may be visible the code behind those
methods
(i.e. the implementaton behind those methods) is not. Encapslation is NOT
about hiding information, it is about hiding the implementation. It is not
necessary to use public/private/protected on any methods or properties.
Of course it is necessary.
I disagree. it is *not* necessary for the simple reason that the code will
perform exactly the same function whether methods and properties are marked
as public/private/protected or not.
It
does not add any functionality, it merely creates restrictions which often
get in the way.
That is why I said "It does not add any functionality, it merely creates
restrictions"
It prevents developers from doing things that shouldn't be done, for
example calling an internal method out of context. I don't want all my
methods being publicly available, simply in order to avoid errors and
unpredictable results.
That is a matter for programmer discipline, it is not a matter of additional
functionality. The code will do exactly the same with or without it.
--
Tony Marston
http://www.tonymarston.net
http://www.radicore.org
.
- Follow-Ups:
- Re: php 5 classes: public, protected and private
- From: Michael Fesser
- Re: php 5 classes: public, protected and private
- References:
- php 5 classes: public, protected and private
- From: jopperdepopper
- Re: php 5 classes: public, protected and private
- From: Jerry Stuckle
- Re: php 5 classes: public, protected and private
- From: jopperdepopper
- Re: php 5 classes: public, protected and private
- From: Jerry Stuckle
- Re: php 5 classes: public, protected and private
- From: Tony Marston
- Re: php 5 classes: public, protected and private
- From: Michael Fesser
- php 5 classes: public, protected and private
- Prev by Date: Re: is lisp better than php?
- Next by Date: Re: php 5 classes: public, protected and private
- Previous by thread: Re: php 5 classes: public, protected and private
- Next by thread: Re: php 5 classes: public, protected and private
- Index(es):
Relevant Pages
|