Ver Mensaje Individual
  #4 (permalink)  
Antiguo 12/02/2007, 13:57
hen
 
Fecha de Ingreso: diciembre-2003
Ubicación: Buenos Aires
Mensajes: 63
Antigüedad: 20 años, 5 meses
Puntos: 1
Re: Novato de POO en php

Hola.

Si el atributo tiene el modificador de acceso 'private', entonces no le podemos asignar un valor desde fuera de la clase, directamente, lo hacemos mediante un metodo de la clase

Código PHP:
class prueba{

private 
$varPrueba// estamos indicando q solo podremos acceder a este 
                           // atributo desde esta clase mediante el modificador de
                           // acceso 'private', y no desde una instancia
                           // de la misma, y tampoco desde una clase hija de esta.
public function Mostrar() {return $this->varPrueba; }

}

$objeto = new prueba() 

$objeto->varPrueba "hola"// aca estoy intentando establecer el valor de
                                        // un atributo 'private' desde un 
                                        // objeto en forma directa, 
                                        // esto me va a dar un 'error fatal' 
                                        // de PHP, por q el atributo tiene el modificador
                                        // de acceso 'private' y no 'public' 
Código:
Fatal error: Cannot access private property prueba::$varPrueba in C:\AppServ\www\practica.php on line 14
Bueno Yo lei en algunos textos de q una de las virtudes de la POO es la encapsulacion. Segun lo q recuerdo, hacer lo siguiente:

Código PHP:
$objeto->varPrueba "hola"
Va en contra de este principio. Lo q vi en los ejemplos es lo siguiente:

Código PHP:
class prueba{

    private 
$varPrueba;

    public function 
establecerValorAtributo($nombre$valor){
        if (!empty(
$nombre)) $this->$nombre $valor;
    }

    public function 
accederValorAtributo($nombre){
        echo 
$this->$nombre;
        return;
    }

}

$objeto = new prueba();

$objeto->establecerValorAtributo("varPrueba","hola");
$objeto->accederValorAtributo("varPrueba"); 
Ojala te sirva para aclararte un poco el panorama. Yo cuando empeze con la POO estaba encantado, pero me di cuenta q hay q respetar en lo posible las reglas q la POO establece. Espero q sigas leyendo sobre POO es un tema apasionante. Yo me baje con el Emule varios Ebooks de PHP5 y POO, Yo te recomiendo q busques libros sobre POO para aprender a aplicarla de la mejor manera, mucho exito.

chao
__________________
.:hEN
DevHen
EXITOS