[Php-objetos] Ping Pong jeje
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Feb 17 12:54:38 ART 2009
Hola Juan,
El mar, 17-02-2009 a las 11:39 -0200, Juan Marcos escribió:
> Hola Leo
>
> > > Otra cosa: Cuando vos decis "podés también usar la interfaz del
> Objeto
> > > Combustible y sus propios setters y getters", me podrias explicar
> > > como? porque me perdí en el párrafo.
> >
> > así: $auto->Combustible->setValor(4);
>
> En ese caso para poder realizar eso, tendria que dejar la propiedad
> combustible del vehículo como Publico.
Sí... o métodos que devuelvan al atributo privado.
Dejarla como pública llegado el caso no es un problema, porque la
encapsulación del los métodos del Objeto Combustible están implementadas
en él mismo.
> > Ok. Para este caso puntual, querés decir que si el Combustible
> cambia,
> > los Vehículos cambien lo menos posible.
> > En este caso, para que el cambio sea menor, no repliques el
> protocolo
> > del Objeto Componente en el que lo Contiene, sino que usá la
> interfaz
> > del propio Objeto.
> > Es la forma en que menos código relativo al Combustible vas a
> tener...
>
> Esto hasta donde entiendo yo, es pasarle por ejemplo a
> setCombustible() el objeto combustible, y que éste se haya creado
> afuera. Para mi esta es la mejor práctica, pero por lo que entendí
> cuando hablamos, esto se parecía más a una práctica de Agregación en
> lugar de composición, me cuesta darme cuenta cual es la diferencia en
> la práctica.
Releé el apunte y mirá los ejemplos que llevé de Agregación y de
Composición.
En los ejemplos incluso se muestra cómo un caso el Objeto contenido es
parte del Objeto continente, y en el otro mantienen su independencia.
> Espero poder entenderlo de una vez asi lo termino jeje, un abrazo!
Yo también espero que lo entiendas... sobre todo porque estos son los
conceptos fáciles del curso. Después, la cosa aumenta...
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-objetos