Comunidad PHPeros
Lenguajes => PHP => (POO) Programación Orientada a Objetos => Mensaje iniciado por: ferdi342 en 09 de Octubre de 2011, 23:20:26 pm
-
Hola creo que llevo bastante tiempo con el PHP y creo que he alcanzado el nivel necesario para empezar con POO.
He estado mirando por todos lados y de momento lo entiendo todo exceptuando el constructor, no su estructura si no su funcionalidad. He mirado en mis libros, por Internet, en los tutoriales que hay en el foro pero.. ¡no acabo de entender la funcionalidad del constructor!
¿Alguien me lo podría explicar?
Gracias.
-
Buenas tardes,
El constructor es un método que se ejecuta justo cuando creas un objeto.
Por ejemplo:
$obj = new Hola();
Si te fijas, tienes el nombre de la clase seguido de dos paréntesis. Esos paréntesis son los que designan una "función", ya que entre esos paréntesis van argumentos.
Lo que tú envíes dentro de los paréntesis es lo que en PHP recibirá el método __construct().
La "gracia" del constructor es realizar todos los procesos necesarios para inicializar el objeto apropiadamente, ya sea como ejecutar alguna función o inicializar atributos de la clase.
-
Haber si lo he entendido, ¿el construct recibe los parámetros de una función?, ¿un construct en el código va dentro de una función o puede ir fuera?, ¿lo que va después de los dos guiones bajos es el nombre de la función de la cual recibirá los parámetros (como si fuera extends con una subclase)?
Gracias y perdona por tanta pregunta, pero me interesa el tema.
-
¿el construct recibe los parámetros de una función? ¿un construct en el código va dentro de una función o puede ir fuera?
El constructor es un método/función de una clase.
¿lo que va después de los dos guiones bajos es el nombre de la función de la cual recibirá los parámetros (como si fuera extends con una subclase)?
En POO en general, el método constructor se ha de llamar igual que la clase, para distinguirlo de los demás métodos. Pero en PHP se recomienda usar el nombre __construct para referirse al método constructor de la clase. Así tal cual lo he escrito.
-
¿Qué diferencia hay pues entre crear una función y/o crear un __construct dentro de una clase?
Gracias.
-
¿Qué diferencia hay pues entre crear una función y/o crear un __construct dentro de una clase?
Gracias.
El constructor es un método que se ejecutará automáticamente al crear el objeto, su mismo nombre lo define: "construye el objeto". Es como un "método especial".
Las otras funciones que declares las llamarás de acuerdo a lo que quieras hacer con eso.
-
Gracias, practicaré un poco y la dominaré del todo.
K+ por resolver mis dudas ;)