Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Esto representa la POO ?

Estas en el tema de Esto representa la POO ? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estimados: Gracias por su atencion, queria preguntar si para ustedes este ejemplo es representativo para la programcion orientada a objeto o como se podria mejorar. ...
  #1 (permalink)  
Antiguo 28/04/2010, 14:00
 
Fecha de Ingreso: abril-2010
Ubicación: Peñaflor
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Esto representa la POO ?

Estimados:

Gracias por su atencion, queria preguntar si para ustedes este ejemplo es representativo para la programcion orientada a objeto o como se podria mejorar.

Gracias.

Código PHP:

class Casa {
        
        var 
$exterior "Jardin";
        var 
$estructura "Concreto";
        
        function 
armaCasa($color){
            
$this->validaArmado($color);
            
$tuCasa="Tu casa tiene un lindo {$this->exterior}
            y su estructura es de {$this->estructura} de color {$color}"
;
            return 
$tuCasa;
        }
        
        function 
validaArmado ($cosaValido){
            if(empty(
$cosaValido)){
                echo 
'Error # 1 : El dato esta vacio';
                exit();
                }
        }
    }
    
    
$laCasa = new Casa;
    echo 
$laCasa->armaCasa('Rojo'); 
  #2 (permalink)  
Antiguo 28/04/2010, 14:03
Avatar de eulloa  
Fecha de Ingreso: octubre-2007
Ubicación: Donde caiga la noche, si mi hijo me deja
Mensajes: 691
Antigüedad: 16 años, 6 meses
Puntos: 5
Respuesta: Esto representa la POO ?

No se lo q quieras decir con "representativo", pero de q se puede mejorar si q se puede.
Empieza por quitar var y comenzar a utilizar modificadores de acceso. Darse una vuelta por el manual tampoco estaría mal.
salu2
  #3 (permalink)  
Antiguo 28/04/2010, 14:23
 
Fecha de Ingreso: abril-2010
Ubicación: Peñaflor
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Respuesta: Esto representa la POO ?

Gracias, por la respuesta representativa me refiero algo caracteristico o tipico, bueno le dare una vuelta, ya que necesito un ejemplo para comenzar la implementacion de la POO en la empresa, una consulta los modificadores por acceso depende de que version de PHP tenga montada desde que version van desde la 5?.
  #4 (permalink)  
Antiguo 28/04/2010, 14:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Esto representa la POO ?

Por otro lado es mejor que uses excepciones para manejar los mensajes de error en lugar de usar echo/exit.

Saludos.
  #5 (permalink)  
Antiguo 28/04/2010, 14:27
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Esto representa la POO ?

Más representativo de la POO sería que le pusieses accesors y matators (también conocidos como getters y setters) y utilizar modificadores de acceso, como bien dice Eulloa. ¡Suerte!
  #6 (permalink)  
Antiguo 28/04/2010, 14:44
 
Fecha de Ingreso: abril-2010
Ubicación: Peñaflor
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Respuesta: Esto representa la POO ?

dggluz con respecto a los accesor y matator tomare en cuenta tu recomendacion, lo que me sugerio Eulloa lo aplique, lo de las excepciones lo dejare para mas adelante, ya que no quiero marearlos con tanta informacion, es mejor regurgitar el conocimiento de a poco jeje, Gracias nuevamente.
  #7 (permalink)  
Antiguo 28/04/2010, 15:10
 
Fecha de Ingreso: abril-2010
Ubicación: Peñaflor
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Respuesta: Esto representa la POO ?

Buenos muchachos entonces segun lo sugerido sin contar lo de las excepciones el codigo estaria asi

Código PHP:
Ver original
  1. class Casa {
  2.        
  3.         private $exterior = "Jardin";
  4.         private $estructura = "Concreto";
  5.         public $tuCasa;
  6.        
  7.         function getCasa(){
  8.             return $this->tuCasa;
  9.         }
  10.         function setCasa($color){
  11.             $this->validaArmado($color);
  12.             $this->tuCasa="Tu casa tiene un lindo $this->exterior
  13.             y su estructura es de $this->estructura de color $color";
  14.         }
  15.            
  16.         function validaArmado ($cosaValido){
  17.             if(empty($cosaValido)){
  18.             echo 'Error # 1 : El dato esta vacio';
  19.             exit();
  20.             }
  21.         }
  22.     }
  23.    
  24.     $laCasa = new Casa;
  25.    
  26.     $laCasa->setCasa('Amarilla');
  27.    
  28.     echo $laCasa->getCasa();

Hay me avisan si notan algun detalle a se me olvido poner acceso a las funciones :P . Gracias nuevamente
  #8 (permalink)  
Antiguo 28/04/2010, 15:16
 
Fecha de Ingreso: abril-2010
Ubicación: Peñaflor
Mensajes: 13
Antigüedad: 14 años
Puntos: 0
Respuesta: Esto representa la POO ?

Gracias por su ayuda muchachos uno aprende demaciado en esta comunidad

Etiquetas: poo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:31.