[Php-objetos] Jorge Re: Segundo intento

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Sab Feb 21 00:30:04 ARST 2009


Hola Jorge,

El vie, 20-02-2009 a las 23:52 +0000, castorin en mdp.edu.ar escribió:
> Hola:
> 
> Medio tarde, Viernes a las 21:30, pero va igual por si lo ves.

	Lo vi: http://blog.pegasusnet.com.ar/2007/10/frases.html

> Trate de modificar lo que me solicitaste y mando las versiones 4 y 5.

	Ok. Dado que la 5 es la última y es la acumulación de las demás, me
referiré a esta última.

> En el 4 arregle lo de los setter y getter que estaban faltando.
> En cuanto al combustible: cambie lo del vector por los dos atributos que
> pide el enunciado.
> (En cuanto a la forma en la que estaba antes me resulta dificil de
> explicar porque lo hice así, aunque no dificil de entender creo, pasa que
> lo primero que pienso es, ok un combustible tal, ¿si ya le digo cual es,
> para que le tengo que decir el precio? ¡eso debe estar guardado de
> antemano en algun lado! supongo que me imaginaba una "aplicación" y
> pensando en programación estructurada)

	Sobre lo que estabas pensando cuando escribiste esto no opinaré, para
no entrar en el terreno de la filosofía ;-)

> Sin embargo los atributos de tipo y valor se pasaban al crear un vehiculo
> especifico y vi que estaba pasando dos atributos y no uno compuesto por
> otros dos, en el 5 trate de arreglar eso.

	Está correcto el ejercicio ahora.
	Si bien el enunciado no lo pide explícitamente, tal vez convenga que
agregues una interfaz al Vehículo para que pueda modificarse su
combustible o su precio. Esto creo que te haría cerrar mejor la idea.

	Por ejemplo, creás 3 combustibles para la prueba, pero en realidad con
tu implementación con crear solo uno sería suficiente. Queda claro esto?

	De hecho estás pisando de una forma curiosa los Combustibles creados, y
si tuvieran un destructor implementado te llevarías una sorpresa con su
funcionamiento.
	Combustible ahora es un Objeto!!!

	Otro detalle: los nombres de los getters y setters del Combustible no
son consistentes con la nomenclatura del resto de los setters y getters
de las demás clases.
	Es una distracción o algo hecho a propósito por algún motivo?

> Otra pregunta: mas allá del enunciado la forma en la que se pasan los
> atributos del combustible "funcionan" igual, ¿hay una mas correcta que la
> otra (desde el punto de vista de los objetos)?

	No en general. Para algunos casos es mejor replicar la interfaz del
Objeto contenido, como una forma de ocultar la implementación interna
del Objeto. Para otros como este en que la composición tiene sentido que
sea pública (para "ir creando el auto a partir de sus partes"), conviene
que sea así.

> Tengo pendiente agarrarle la mano al tema de excepciones para controlar si
> falta algun valor por ejemplo, pero prefiero ir paso a paso.

	Ok. Agregá también casting para los objetos en los métodos así queda
más redondito.

> Desde la Caverna de Platón, saludos, Jorge.
> (Los objetos eran solo sombras para mi)

	Muy buena referencia!!!

	Nos vemos!
-- 
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