[Php-objetos] Calculo de consumo
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Sab Feb 14 00:28:33 ART 2009
Hola Gonzalo,
El vie, 13-02-2009 a las 18:01 -0800, yo en erama.com escribió:
> Buenas, para el calculo de consumo intente usar polimorfismo, lo que no si
> es correcto... Hice lo sig:
> dentro de la subclase auto:
> class Auto extends Rodados{
> ...
> ...
> function calcularConsumo(){
> return ($this->getConsumoPorKm() * $this->combus->getCombustibleValor());
> }
> ...
> ...
> }
>
> class Consumo{
> function calcular($obj) {
> return $obj->calcularConsumo();
> }
> }
>
> $auto=new Auto();
> $consumo=new Consumo();
> print "calculador: ".$consumo->calcular($auto)."<br>";
>
>
> luego para la clase camión es similar agregando los kg..
Esto no es polimorfismo... como Auto y Camión son de la misma clase, es
natural que respondan a los mismos métodos de igual manera.
Polimorfismo es cuando métodos se llaman igual en _distintas_ clases.
Lo que no entiendo en tu diseño es la clase "Consumo". Tendría sentido
una clase así si supiera calcular el consumo de varios objetos de
distintas clases, pero así como está es muuuuy rara y posiblemente
incorrecta en su implementación.
Por otra parte un objeto llamado "consumo", no es natural que tenga un
método llamado "calcular". Qué clase de comportamiento tendría un objeto
"consumo"???
Los nombres son importantes!
--
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