[Php-objetos] Calculo de consumo

Gonzalo Rama yo en erama.com
Sab Feb 14 12:04:17 ART 2009


y viste!... por eso los tengo asi!.

-------- Mensaje original --------
> 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
>>
>>     




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