[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