10. Propiedades y Constructores
Visibilidad
La visibilidad de una propiedad o un método se puede definir anteponiendo a su declaración una de las palabras reservadas public, protected o private.
public: Quiere decir que la propiedad se puede acceder y modificar fuera del «molde» (esqueleto o contexto) de la clase.
private: solo puede ser llamado desde otro método de la clase. Indica que no es posible ni leer ni reescribir la propiedad fuera de la clase.
protected: Un atributo o método protected puede ser accedido por la clase, por todas sus subclases pero no por los objetos.
Ejemplo
<?php /** * Definición de MyClass */ class MyClass { public $public = 'Public'; //Propiedad de tipo PubliC protected $protected = 'Protected'; //propiedad de tipo Protected private $private = 'Private'; //Propiedad de tipo Private function imprime() { echo $this->public; echo $this->protected; echo $this->private; } } //Creamos un objeto d ela clase $obj = new MyClass(); echo $obj->public; // Funciona bien echo $obj->protected; // Error Fatal echo $obj->private; // Error Fatal $obj->imprime(); // Muestra Public, Protected y Private
Constructores
Se puede declarar métodos constructores para las clases. Aquellas que tengan un método constructor lo invocarán en cada nuevo objeto creado, lo que lo hace idóneo para cualquier inicialización que el objeto pueda necesitar antes de ser usado.
Ejemplo
<?php //Creamos la Clase class MyClass { //Creamos el método constructor de la clase function __construct() { echo "Soy el constructor"; } } //Creamos el objeto del la Clase $obj = new MyClass(); //Al crear el objeto se ejecuta el constructor y imprime ?>