[Php-objetos] PHPPOO - Entrega ejercicio 1-1
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Mar Feb 17 00:33:58 ART 2009
Hola Mario,
El lun, 16-02-2009 a las 23:25 -0200, Mario Gomez Cassou escribió:
> Hola Leo:
> te paso la (primera) entrega del ejercicio 1-1. Hago alguna
> consideracion tratando de ser breve, y claro, claro.
> - puse la clase camion como extendiendo camioneta porque solo tenia un
> atributo mas (ya aclarado que no es una idea correcta) pero tambien
> porque tienen una variacion minima en el metodo que calcula el consumo.
Es cierto que tienen una variación mínima, pero no en tu código.
Una variación mínima en un contexto de herencia es que "hace todo lo
que el padre, y una cosita más", no una cosa distinta... la herencia es
siempre completa.
Fijate que el calcularConsumo() de Pickup y Camion siguen funcionando
igual si Camión extiende a Vehículo, porque en ningún momento usás los
métodos heredados.
> Aca debe haber otro error porque fui el unico que no creo un objeto
> combustible.
Estoy de acuerdo con que Combustible no es un Objeto interesante...
pero vamos: atributos combustible "combustible" y "combustibleValor" en
un mismo Objeto suenan "raros"...
> Pero volviendo a la definicion de las clases me encanta que se habla de
> modelado, en crear modelos de la realidad; las clases deben ser
> "naturales" o al menos serlo en la mayor medidida de lo posible.
Bueno... más o menos. Tu idea es correcta, pero la realidad a la que
debemos referirnos es a la abstracción para el sistema que estamos
escribiendo, y no tanto para el mundo real.
Los Objetos más interesantes de modelar, son los abstractos, que no
existen en el mundo real, pero de alguna manera es una forma de
"materializar" en software un pensamiento.
Volviendo al código: los constructores repiten el código heredado, lo
cual es un desperdicio, porque para no repetir se inventó la herencia.
Lo del Consumo como Objeto aparte, por mi da lo mismo, pero te perdés
de la experiencia de trabajar con una composición pequeña.
El atributo "consumo" no tiene razón de ser. Solo lo usás como
almacenamiento temporario para el cálculo. Tendría sentido con un
protocolo que tenga calcularConsumo() y getConsumo() para que el primero
solo calcule y el segundo lo devuelva.
> Esto va a tema de lo visto en la última clase, sigo en otro mensaje
Seguimos!!!
--
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