<p>Bueno ya esta es la publicación final de esta saga, hablaré de los <em><strong>constructores</strong></em> y <em><strong>destructores</strong></em>.</p> <h2>Constructor</h2> <p>El <em><strong>constructor de una clase</strong></em> tiene como principal objetivo el de inicializar el objeto al ser instanciado, colocando así sus atributos en los valores deseados.</p> <p>El <em><strong>constructor</strong></em> es una función, y como tal puede o no recibir párametros.</p> <p>En PHP un ejemplo de constructor de una clase seria el siguiente:</p> <pre>public function __construct() {<br /><br />}<br /></pre> <p>Notemos que la función esta denotada así: <strong>__construct()</strong>, dos underscore ( __ ) y la palabra <em><strong>construct</strong></em>.</p> <h2>Destructor</h2> <p>El <em><strong>destructor de una clase</strong></em> es muy similar a el <em><strong>constructor</strong></em>, la diferencia radica en que este es llamado cuando es destruido el objeto, en otras palabras eliminado de la memoria, claro es solo en teoria, su objetivo principal es devolver algún objeto o situación a su estado original, por ejemplo, cerrar conexiones con base de datos, o limpiar archivos temporales, o eliminar plantillas usadas, entre otras, ahora el concepto <em><strong>destructor</strong></em> no existe en PHP4 así que cuidado con eso.</p> <p>El destructor no recibe parámetros.</p> <p>Un ejemplo seria el siguiente:</p> <pre>public function __destruct() {<br /> <br />}</pre> <p>Posee una estructura igual al constructor pero con la palabra <em><strong>destruct</strong></em>, <em>el destructor no funciona muy bien si se hereda esa clase, así que cuidado, dependiendo de lo que se haga sirve o no, y para saberlo se necesita experiencia.</em></p> <p>Ejemplo:</p> <p><em><strong>Archivo: Estudiante.php</strong></em></p> <pre><?php<br /><br />class Estudiante {//Inicio de la clase<br /><br /> //Atributos<br /> private $id;<br /> private $nombre;<br /><br /> //Funciones<br /> public function __construct() {<br /> $this->id=0;<br /> $this->nombre="Null";<br /> echo 'Construyendo <br/>';<br /> echo 'Nombre: '.$this->nombre.', ID: '.$this->id.'<br/>';<br /> }<br /><br /> public function __destruct() {<br /> echo 'Destruyendo';<br /> }<br /><br />}//Fin de la clase<br /><br />?></pre> <p><em><strong>Archivo: index.php</strong></em></p> <pre><?php<br /><br />include 'Estudiante.php';<br /><br />$estudiante = new Estudiante();<br /><br />?></pre> <p>Salida:</p> <pre>Construyendo <br />Nombre: Null, ID: 0<br />Destruyendo</pre> <p>Mejoremos el código, le colocaremos parámetros predefinidos al constructor:</p> <p><em><strong>Nuevo Archivo: Estudiante.php</strong></em></p> <pre><?php<br /><br />class Estudiante {//Inicio de la clase<br /><br /> //Atributos<br /> private $id;<br /> private $nombre;<br /><br /> //Funciones<br /> public function __construct($id=0,$nombre="Null") {//Parametros predefinidos<br /> $this->id=$id;<br /> $this->nombre=$nombre;<br /> echo 'Construyendo <br/>';<br /> echo 'Nombre: '.$this->nombre.', ID: '.$this->id.'<br/>';<br /> }<br /><br /> public function __destruct() {<br /> echo 'Destruyendo';<br /> }<br /><br />}//Fin de la clase<br /><br />?></pre> <p>¿Para qué se usan estos parámetros?, bueno si al instanciar el objeto no se pasan datos por parámetros estos serán los valores que tomaran las variable.</p> <p>Ejemplo:</p> <p><em><strong>Nuevo Archivo: index.php</strong></em></p> <pre><?php<br /><br />include 'Estudiante.php';<br /><br />$estudiante = new Estudiante(2,"Pedro");<br /><br />?></pre> <p>Salida:</p> <pre>Construyendo <br />Nombre: Pedro, ID: 2<br />Destruyendo</pre> <p>Salida sin usar parámetros:</p> <pre>Construyendo <br />Nombre: Null, ID: 0<br />Destruyendo<br /></pre> <p><span><span><span><span><span>Recuerda hacer preguntas si tienes dudas en algo...</span></span></span></span></span></p>
o salir
¡Amigo! te demorarás 10 segundos en crear tu cuenta.
Crear cuenta o acceder
Nick o e-mail Es el nombre visible de tu cuenta y te servirá para acceder a ella. Permitido espacios y cualquier caracter.
Contraseña Una clave única para acceder a tu cuenta.
Transcribe el código en la dirección indicada con el fin de evitar el SPAM.
Identificación Tu identificación es el nick o el e-mail de tu cuenta.
Contraseña La clave de tu cuenta. ¿No la recuerdas?
Recordar por diez días
Disfrutarás de todos los beneficios de DocumentoWeb.
Twitter Facebook Feed RSS
www.DocumentoWeb.com - Licencia Creative Commons