tipos sobrecarga que metodo constructores __construct php oop constructor

que - sobrecarga de constructores php



Beneficios de usar un constructor (5)

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

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

aplausos, Keith


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

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

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 preguntó por qué debería usarse, 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, al que se conectaría el constructor. Luego tiene las funciones para hacer todo el trabajo dentro de esa base de datos.


El constructor le permite asegurarse de que el objeto se pone 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.


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

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


La idea de constructor es preparar un conjunto inicial de datos para el objeto, por lo que puede comportarse de forma esperada.

Just call a method no es un problema, porque puede olvidarse de hacer eso, y esto no se puede especificar como "requerido antes del trabajo" en la sintaxis, por lo que obtendrá un objeto "roto".


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