Pregunta

En mi búsqueda al tratar de aprender más sobre OOP en PHP. Me he encontrado con la función de constructor unas cuantas veces y simplemente no puedo ignorarla más. En mi entendimiento, el constructor es llamado en el momento en que creo un objeto, ¿es correcto?

Pero, ¿por qué necesitaría crear este constructor si puedo usar " normal " ¿Funciones o métodos como se llaman?

saludos, Keith

¿Fue útil?

Solución

Sí, se llama al constructor cuando se crea el objeto.

Un pequeño ejemplo de la utilidad de un constructor es este

class Bar
{
    // The variable we will be using within our class
    var $val;

    // This function is called when someone does $foo = new Bar();
    // But this constructor has also an $var within its definition,
    // So you have to do $foo = new Bar("some data")
    function __construct($var)
    {
        // Assign's the $var from the constructor to the $val variable 
        // we defined above
        $this->val = $var
    }
}

$foo = new Bar("baz");

echo $foo->val // baz

// You can also do this to see everything defined within the class
print_r($foo);

ACTUALIZACIÓN: Una pregunta también se pregunta por qué se debe usar, un ejemplo de la vida real es una clase de base de datos, donde se llama al objeto con el nombre de usuario, la contraseña y la tabla para conectarse, a la que se conectaría el constructor. Luego tiene las funciones para hacer todo el trabajo dentro de esa base de datos.

Otros consejos

El constructor le permite asegurarse de que el objeto se ponga en un estado particular antes de intentar usarlo. Por ejemplo, si su objeto tiene ciertas propiedades que se requieren para su uso, puede inicializarlas en el constructor. Además, los constructores permiten una forma eficiente de inicializar objetos.

La idea del constructor es preparar un grupo inicial de datos para el objeto, para que pueda comportarse de manera esperada.

Simplemente llamar a un método no es un trato, porque puede olvidarse de hacerlo, y esto no puede especificarse como " requerido antes del trabajo " en sintaxis, por lo que obtendrá " roto " objeto.

Los constructores son buenos para una variedad de cosas. Inicializan variables en tu clase. Digamos que estás creando una clase de BankAccount. $ b = nueva cuenta bancaria (60); tiene un constructor que le da a la cuenta bancaria un valor inicial. Establecen variables dentro de la clase básicamente o también pueden inicializar otras clases (herencia).

El constructor es para la inicialización realizada cuando se crea un objeto.

No querría llamar a un método arbitrario en un objeto recién creado porque esto va en contra de la idea de la encapsulación, y requeriría que el código que usa este objeto tenga conocimiento inherente de su funcionamiento interno (y requiera más esfuerzo). p>

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top