[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