Taller de Lenguajes

Constructores y Destructores en PHP 5 PDF Imprimir Correo electrónico
Miércoles 22 de Septiembre de 2010 16:59

Constructores y Destructores.

Una buena práctica de programación es inicial izar todas las variables y objetos para comenzar desde un estado conocido.

En el caso de la Programación orientada a objetos, además, puede ocurrir que necesitemos hacer alguna tarea en el momento de la creación y destrucción del objeto. Para esta situación lo ideal es utilizar los métodos constructores y destructores que nos brinda el lenguaje PHP.

En este artículo veremos cómo definir y usar los constructores y destructores.


Un constructor es un método que se invoca automáticamente cuando se crea una instancia de un objeto (al hacer un new).
Un destructor es un método que se invoca automáticamente cuando se destruye un objeto, más precisamente es la última acción que se realiza cuando no quedan referencias a un objeto.

Definición de constructores y destructores en PHP 5


Tenemos dos métodos especiales __construct y __destruct.

La denominación es más que acertada, ya que corresponde a un nombre general, independiente de toda clase. Es decir que todas las clases llaman por igual a sus constructores. Esto no sucede así es PHP 4, donde los constructores se deben llamar igual que la clase. Las desventajas de nombrar así las vemos en la Herencia, cuando queremos invocar al constructor de la clase Padre, hay que llamar con el nombre particular. Si el programados de la clase Padre decidiera cambiarla de nombre, deberíamos cambiar todas las llamadas a su constructor (ya que el constructor cambió de nombre).

Veamos un ejemplo muy simple en PHP 5:

class cAlumno {
    private $nombre;

    function __construct ($n) {
        echo "se crea el alumno: ".$n."<br>";
        $this->setNombre($n);
    }
    
    function setNombre($n){
        $this->nombre = $n;
    }

    function getNombre(){
        return $this->nombre;
    }

    function __destruct () {
        echo "se destruye el alumno: ".$this->getNombre()."<br>";
    }
} // clase


$miAlumno1 = new cAlumno("Juan");
$miAlumno2 = new cAlumno("María");

unset($miAlumno2);
unset($miAlumno1);
 

El constructor inicializa el nombre del objeto (del alumno) con el parámetro que se envía.
Como el constructor tiene parámetros hay que enviárselos en el momento de la creación del objeto, que se realiza en las líneas 23 y 24. De esta manera asignamos valores iniciales a los atributos de los objetos.

En las líneas 26 y 27 hacemos la destrucción de los dos objetos, con la función unset().

 

Antes de que PHP libere el espacio utilizado por los objetos, se ejecutará el destructor, mostrando los valores de los atributos (en nuestro ejemplo). Una vez que se invoca el destructor,se libera la memoria.

Los constructores y destructores son de mucha utilidad y debemos aprovecharlos ya que en la mayoría de los casos debemos realizar alguna tarea o inicializar algún atributo o variable.

 

 

Comentarios
Añadir nuevo Buscar RSS
Escribir comentario
Nombre:
Email:
 
Website:
Título:
 
Por favor introduce el código anti-spam que puedes leer en la imagen.

3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved."

 

Menú Principal

Ingreso de Usuarios



Actualidad

Por favor, haga el directorio de la caché escribible.

Encuesta

¿Cuál es tu lenguaje de programación favorito?
 
Copyright © 2012 Taller de Lenguajes. Todos los derechos reservados.
Joomla! es software libre publicado bajo la licencia GNU/GPL.