PHP OO: Practicando - Método Construct - Ejemplos

Este es un ejemplo más para conseguir tener una mejor idea de lo que es el método mágico __construct y como nos ayuda en nuestra producción!
Compartir:
Este es un ejemplo más del método __construct() de una class, enfatizando que este sirve para ejecutar un determinado comportamiento o acción luego en el momento en que una instancia de la class sea realizada, siendo apropiado este método para cualquier inicialización que el objeto pueda necesitar antes de ser usado.
  • Lo primero que haremos será declarar una class llamada Factorial, la cual como su nombre lo dice nos calculará el factorial de un numero entero, veamos el código a continuación:

<?php
class Factorial
{
    
}

  • Como segundo paso, pues vamos a declarar la propiedad $resultado con la propiedad de visibilidad private, lo que hará que solo se pueda acceder a los miembros de esta propiedad desde la clase que la ha definido, osea desde class Factorial
    • le damos el valor de 1, el cual será el menor valor y el valor inicial que podrá tomar el resultado y que se mostrará como resultado final en pantalla.

<?php
class Factorial
{
    private $resultado = 1; //propiedad private $resultado que comienza con 1
    private $numero;//propiedad private $numero

    • luego hemos declarado la propiedad $numero, con la propiedad de visibilidad private también, al cual no le damos ningún valor ya que este será el número del cual queremos saber el valor de su factorial, ok?
  • Como tercer paso vamos a definir nuestro método __construct(), el cual tendrá como parámetro a la propiedad $numero, este método __construct(), realizará todo el proceso lógico de conseguir el factorial de nuestro $numero,
    • Este método lo construiremos utilizando el loop de PHP tan conocido que es el for,
    • Entonces, hacemos que el método __construct() accese a nuestra propiedad $numero, para luego usar el loop for que hará el proceso de obtener uno a uno los valores que serán posteriormente multiplicados entre sí (Ejemplo, factorial de 5=5x4x3x2x1), 
      • luego accedemos a nuestra propiedad $resultado la cual será multiplicada por cada uno de los valores elaborados por el loop for

<?php
class Factorial
{
    private $resultado = 1; //atributo privado $resultado que comienza con 1
    private $numero;//atributo privado $numero

    public function __construct($numero)
    {
        $this->numero = $numero;
        for ($i = 2; $i <= $numero; $i++)                                        
        {
            $this->resultado *= $i;     
        }
    }

  • Como cuarto paso, crearemos un método que realizará el proceso de mostrar el numero y su factorial, al cual lo llamaremos de método mostrarResultado()
    • veamos:

<?php
class Factorial
{
    private $resultado = 1; //atributo privado $resultado que comienza con 1
    private $numero;//atributo privado $numero

    public function __construct($numero)
    {
        $this->numero = $numero;//accediendo a la propiedad $numero
        for ($i = 2; $i <= $numero; $i++)                                        
        {
            $this->resultado *= $i;//accediendo a la propiedad $resultado   
        }
    }

    public function mostrarResultado()
    {
        echo "El Factorial de {$this->numero} es {$this->resultado}. ";
    }
}

    •   Como podemos notar en el código anterior hemos hecho uso de llaves para encerrar el acceso a la propiedad $numero y a la propiedad $resultado, no dejemos fuera a esa sintaxis;
  • Ahora para terminar y hacer correr nuestro código, pues instanciaremos nuestra class Factorial desde nuestro objeto al cual lo llamaremos de $fact,
    • luego para que se muestre en pantalla correctamente con el texto correspondiente y hagamos entendible lo que hemos codificado, llamaremos desde el $fact al método mostrarResultado,
      • veamos entonces como quedaría nuestro código al final, colocandole el valor de 3:

<?php
class Factorial
{
    private $resultado = 1; //atributo privado $resultado que comienza con 1
    private $numero;//atributo privado $numero

    public function __construct($numero)
    {
        $this->numero = $numero;//accediendo a la propiedad $numero
        for ($i = 2; $i <= $numero; $i++)
        {
            $this->resultado *= $i;//accediendo a la propiedad $resultado
        }
    }

    public function mostrarResultado()
    {
        echo "El Factorial de {$this->numero} es {$this->resultado}. ";
    }
}

$fact = new Factorial(3);
$fact->mostrarResultado();


  • Como podemos notar he puesto el valor de 3 (ustedes pueden cambiarlo para obtener algún otro factorial), 
    • al instanciar la class Factorial, lo que se hará que inmediatamente será el uso de este valor ("3") en el método __construct(), dandonos como respuesta: "El Factorial de 3 = 3x2x1 que es 6". 
    • Hagamos correr nuestro código en el navegador:
  • Con este ejemplo dejo creo yo más clara la idea de lo que es este Método Mágico de class llamado __construct()  y como siempre les invito a generar más código utilizando nombres diferentes de class, de objetos y nuevos valores para cada propiedad, buena suerte a todos y dejen sus comentários si tienen alguna duda!
Compartir:
Localización Gov. Celso Ramos, SC, Brasil

Métodos Mágicos PHP

PHP

PHP Orientado a Objetos

Déjenos su Comentário:

1 comments: