[Php-objetos] Calculo de consumo

Leonardo Tadei - Pegasus Tech Supply leonardot en pegasusnet.com.ar
Sab Feb 14 10:52:51 ART 2009


Ahhhhhhhhhhh!

Mis ojos!!!!!!!!!

	plaZas ! Con Zeta !

El sáb, 14-02-2009 a las 10:02 -0200, Gonzalo Rama escribió:
> bueno.. ahi lo modifique hice esta:
> //Ejercicio Nº1 POO
> 
> class  Auto extends Rodado{
>     function __construct($Plasas=2){
>         $this->Plasas=$Plasas;
>         $this->Combustible= new Combustible();
>        
>     }
>    
>     function calularConsumo(){
>         return ($this->getConsumoKm() * $this->Combustible->getValor());
>     }
> }
> 
> $auto = new Auto;
> $auto->setCantRuedas(5);
> echo 'Tengo un ejemplar de '.$auto->getCantRuedas().' ruedas que 
> funciona a '.$auto->Combustible->getTipo().'<br>';
> echo 'La chata me consume:'. $auto->calularConsumo(). "<br>\n"
> 
> y para el resto los mismo agregandole sus atribitos.:
> 
> ----------------------------------
> class  Pickup extends Rodado{
>     function __construct($KgCarga=2000){
>         $this->KgCarga=$KgCarga;
>         $this->Combustible= new Combustible();       
>     }
>     // Hola Seters! del Obj-eters
>     function setKgCarga($KgCarga){
>         if(is_numeric($KgCarga)){
>             $this->KgCarga=$KgCarga;
>         }else{
>             return false;
>         }
>     }
>    
>     //Vamos con los Geters
>     function getKgCarga(){
>         return $this->KgCarga;
>     }
>    
>     function calularConsumo(){
>         return ($this->getConsumoKm() * $this->Combustible->getValor() * 
> ($this->getKgCarga()/1500));
>     }
> }
> ----------------------------------------------------------------------------------------
> 
> 
> 
> 
> -------- Mensaje original --------
> > 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!
> >   
> 
> 
> _______________________________________________
> Php-objetos mailing list
> Php-objetos en pato2.fi.mdp.edu.ar
> http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-objetos
> 
-- 

Leonardo Tadei
leonardot en pegasusnet.com.ar
Pegasus Tech Supply
Tel: (+54)(+223) 471-2880
La Salle 1131 - Mar del Plata - Argentina
http://www.pegasusnet.com.ar / http://blog.pegasusnet.com.ar
http://www.prometeustech.com.ar / http://www.grupopegasus.com
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
                



Más información sobre la lista de distribución Php-objetos