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

Alcance de los atributos y métodos en una clase

Estas en el tema de Alcance de los atributos y métodos en una clase en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola a todos: Estoy aprendiendo POO con PHP y hay un asunto que aun no me queda claro. Que debo tener en cuenta para determinar ...
  #1 (permalink)  
Antiguo 07/08/2007, 11:58
 
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 17 años, 5 meses
Puntos: 0
Alcance de los atributos y métodos en una clase

hola a todos:

Estoy aprendiendo POO con PHP y hay un asunto que aun no me queda claro. Que debo tener en cuenta para determinar el alcance (scope) de los atributos y métodos de una clase. Me dicen que poner todos los parámetros de manera pública es peligroso, pero no entiendo porque, y de ser así, que parametros deberian entonces ser públicos?

Si me lo pudieran ejemplificar, seria genial :)

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 07/08/2007, 12:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Alcance de los atributos y métodos en una clase

Es una pregunta muy amplia, si bien los atributos si se pueden poner publicos no es lo mas recomendable menos en PHP ya que PHP es un lenguaje sin tipos especificos de datos, supongamos que tienes un objeto y idCliente es un atributo numerico, que pasa si a alguien se le ocurre poner un string, tendrias un error en tu transaccion de la base de datos, en cambio si checas que tipo de dato es puedes avisar a los programadores de este tipo de errores:

Código PHP:
class foo {
      private 
$bar;

      public function 
setBar$bar ) {
             if( !
is_numeric$bar ) ) {
                       throw new 
Exception'$bar debe de ser un numero' );
             }

             
$this->bar $bar;
      }

      public function 
getBar() {
              return 
$this->bar;
      }

Esto es porque no siempre vas a trabajar tu con tus clases, es probable que entres a hacer un sistema donde trabajes con varios colaboradores y si alguien cambia algo de tus datos tendrias problemas en tu codigo.

Saludos.
  #3 (permalink)  
Antiguo 07/08/2007, 12:32
 
Fecha de Ingreso: febrero-2006
Mensajes: 34
Antigüedad: 18 años, 2 meses
Puntos: 0
Re: Alcance de los atributos y métodos en una clase

En POO hay dos temas fundamentales sobre tu duda... uno es la encapsulacion y el otro ocultamiento

El amigo google siempre tiene las respuestas :P

http://www.google.com.ar/search?hl=e...a=lr%3Dlang_es

http://www.google.com.ar/search?hl=e...a=lr%3Dlang_es
  #4 (permalink)  
Antiguo 07/08/2007, 12:38
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 3 meses
Puntos: 6
Re: Alcance de los atributos y métodos en una clase

bueno, esto tambien me sirve a mi :)
__________________
www.dataautos.com
  #5 (permalink)  
Antiguo 07/08/2007, 17:23
 
Fecha de Ingreso: noviembre-2006
Mensajes: 49
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Alcance de los atributos y métodos en una clase

Muchas gracias por sus comentarios. Me queda todo más claro. Entonces para los atributos privados debo hacer dos métodos para ingresar y para extraer información de esas variables?

Última edición por Powerpuff Kuma; 07/08/2007 a las 18:18
  #6 (permalink)  
Antiguo 07/08/2007, 20:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Alcance de los atributos y métodos en una clase

Asi es.

Saludos.
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 06:42.