Programación en PHP
/

La Programación Orientada a Objeto (POO) en PHP

En la Programación Orientada a Objeto (POO), casi todo son objetos y todos los objetos interactúan entre sí.

Entender la programación en orden cronológico no plantea ninguna dificultad. Esto significa codificar para que se ejecuten sus sentencias o funciones unas después de otras. Sin embargo en la Programación Orientada a Objeto (POO), casi todo son objetos y todos los objetos interactúan entre sí.

Un objeto es tipo de elemento que encaja dentro de una clase que tiene unas características o cualidades (atributos) y a unas acciones (métodos). Un ejemplo de la vida real podría ser:

  • Clase: Animal
  • Objetos: tipo de animales, por ejemplo un perro y, otro, un gato
  • Atributos: el color de pelo, el peso
  • Acciones: comer, moverse, subir de peso

La POO con PHP


Para llevar estos conceptos a PHP hay que tener claro dos bloques o fases: 1) Crear o declarar la clase , con o sin atributos iniciales o por defecto 2) Utilizar la clase llamándola desde la página de uso.

Veamos estas fases sobre un ejemplo sencillo:

Se desea crear una clase Animal que tenga como propiedades el color y el peso y como métodos modificar su color, leer su color, modificar su peso, leer su peso, comer y moverse.

1.- Crear o declarar la clase en un fichero independiente que llamaremos por conveniencia: Animal.class.php

<?php // inicio de nuestro programa
   class Animal  //inicio declaración de la clase
   {
      // Declaración de atributos
     private $color = "gris";
     private $peso = 10;
     // definición de los métodos
     public function getColor ()
     {
       return $this->color;
     }
     public function setColor ($color)
     {
       $this->color = $color;
     }
     public function getPeso ()
     {
       return $this->peso;
     }
     public function setPeso ($peso)
     {
        $this->peso = $peso;
     }
     public function anadir_un_kilo() 
     { 
       $this->peso = $this->peso + 1; 
     }
     public function comer()
     {
       //
     }
     public function moverse ()
     {
       //
     }
   }?> //fin declaración de la clase

2.- Utilización de la clase en una página de producción que llamaremos por conveniencia: uso.Animal.php :

<?php
   include ('Animal.class.php'); // carga de la clase
   $perro = new Animal; // instanciar la clase Animal
   $perro->set_Peso(18); // actualizar el peso del perro a 18 kilos
   echo "El peso del perro es: ".$perro->getPeso()." kg<br />"; // leer el peso
   $perro->setColor("negro"); // actualizar el color del perro
   echo "El color del perro es: ".$perro->getColor()."<br /n>";
   $gato = new Animal; // instanciar la clase Animal;
   $gato->set_Peso(5); // actualizar el peso del gato
   echo "El peso del gato es: ".$gato->getPeso()." kg<br />"; // leer el peso del gato
   $gato->setColor("blanco"); // actualizar el color del perro
   echo "El color del gato es: ".$gato->getColor()."<br /n>";
?>

Ejecutar ejemplo


Es muy importante entender que una clase es un tipo compuesto que reagrupa variables (son los atributos de la clase) y funciones (son los métodos de la clase). Por sí misma, una clase no almacena información o dato; es solo un modelo, una definición.

A partir de la clase, es posible instanciarla con objetos para que estos se adapten a su estructura, con la diferencia de que sí almacenan información y que en función de como estén programados, estos podrán ser públicos, privados o protegidos.

A continuación mostramos una imagen que define a la perfección todos los elementos esenciales que intervienen en este modelo de programación.

Todos los elementos que intervienen en la POO. (fuente: es.quora.com)

Deja una respuesta