> Manuales > Orientación a objetos con PHP

Vamos a ver qué es un constructor y para que sirven, además de un sencillo ejemplo de una clase que define un constructor.

Los constructores se encargan de resumir las acciones de inicialización de los objetos. Cuando se instancia un objeto, se tienen que realizar varios pasos en su inicialización, por ejemplo dar valores a sus atributos y eso es de lo que se encarga el constructor. Los constructores pueden recibir unos datos para inicializar los objetos como se desee en cada caso.

La sintaxis para la creación de constructor varía con respecto a la de PHP 3 y 4, pues debe llamarse con un nombre fijo: __construct(). (Son dos guiones bajos antes de la palabra "construct")

A lo largo de los ejemplos de este manual vamos a ir creando un código para gestión de un videoclub. Vamos a empezar definiendo una clase cliente, que utilizaremos luego en nuestro programa.

class cliente{ 
   	var $nombre; 
   	var $numero; 
   	var $peliculas_alquiladas; 

   	function __construct($nombre,$numero){ 
      	$this->nombre=$nombre; 
      	$this->numero=$numero; 
      	$this->peliculas_alquiladas=array(); 
   	} 

   	function dame_numero(){ 
      	return $this->numero; 
   	} 
}

El constructor en esta clase recibe el nombre y número que asignar al cliente, que introduce luego en sus correspondientes propiedades. Además inicializa el atributo películas_alquiladas como un array, en este caso vacío porque todavía no tiene ninguna película en su poder.

Nota: En programación orientada a objetos $this hace referencia al objeto sobre el que se está ejecutando el método. En este caso, como se trata de un constructor, $this hace referencia al objeto que se está construyendo. Con $this->nombre=$nombre; estamos asignando al atributo “nombre” del objeto que se está construyendo el valor que contiene la variable $nombre, que se ha recibido por parámetro.

Luego hemos creado un método muy sencillo para poder utilizar el objeto. Vamos a ver unas acciones simples para ilustrar el proceso de instanciación y utilización de los objetos.

//instanciamos un par de objetos cliente 
$cliente1 = new cliente("Pepe", 1); 
$cliente2 = new cliente("Roberto", 564); 

//mostramos el numero de cada cliente creado 
echo "El identificador del cliente 1 es: " . $cliente1->dame_numero(); 
echo "El identificador del cliente 2 es: " . $cliente2->dame_numero();

Este ejemplo obtendría esta salida como resultado de su ejecución:

El identificador del cliente 1 es: 1
El identificador del cliente 2 es: 564

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual