AulaFacil.com: CLICK AQUÍ para aprender cientos de cursos gratis
Curso gratis
 
Lección 27 ª

 

 

 

 

 

   

 

MANUAL DE PHP. Parte 2. OBJETOS/AGREGADO

Hola amigos, ¿cómo están?

Tal y como lo prometimos en nuestra entrega anterior, vamos a ver ahora lo que en Programación orientada a objetos se conoce como Agregado. Es muy probable que el Agregado se parezca mucho a la Herencia, sin embargo, es necesario aclarar la diferencia enorme que existe.

Cuando hablamos de Herencia, significa que una subclase Hereda los atributos y los métodos de la superclase, siendo que todos tienen algo en común; sin embargo el Agregado es la agrupación de una serie de objetos que no han de tener nada en común, pero que necesitan estar juntos por alguna razón.

Para poner un ejemplo de ello pensemos en una selva, la selva está llena de animales, sin embargo, eso no significa que selva, como tal tenga algo en común con los animales (además pensemos en el hecho de que en la selva también hay plantas, rocas, cazadores, taladores,… momento, no sigamos o lloraremos)

Sin embargo, la mejor forma de entender el Agregado es con un ejemplo, primero que nada, modifiquemos de manera un tanto dramática nuestro código y escribámoslo de la siguiente forma:

<?php

class canimal{

function canimal($patas){

$this->patas = $patas;

}

function sonido(){

echo "Este animal Ladra";

}

var $ojos = 2;

}

class cperros extends canimal{}

class cgatos extends canimal{

function sonido(){

echo "En realidad este animal maúlla";

}

}

class ccasa{

var $animal = array();

function naciendo($tipo, $cantidad){

$cantidad = count($this->animal);

$this->animal[$cantidad] = $tipo;

}

function mostrar_animales(){

echo "Hay ".count($this->animal)." animales en la casa<BR>";

for($i=0;$i<count($this->animal);$i++){

echo $this->animal[$i]."<BR>";

}

}

}

$nuevo = new ccasa();

$nuevo->naciendo(cgatos, 1);

$nuevo->naciendo(cperros, 1);

$nuevo->mostrar_animales();

?>

Tenemos ahora, además de la superclase y las dos subclases originales, una clase extra que se llama ccasa, en la que “inmiscuimos” a las dos clases cgatos y cperros, de tal manera que las criaturas que nacen dentro de la casa, sean, precisamente, nuestras dos subclases, gracias a la variable $tipo, que recoge a las subclases.

La nueva clase (que no hereda de nadie, pero que incluye a las dos suclases, derivadas de canimales) tiene dos funciones, una que se ocupa del nacimiento de las nuevas “criaturitas” y la otra que muestra la cantidad de animales que tenemos. Nuestro resultado es el siguiente:

[Objeto Flash Eliminado]

Una pequeña tarea: ¿cómo enviarían a la pantalla la función sonido() de las dos subclases?

Con esto, queridísimos amigos, cubrimos lo básico de la programación orientada a objetos (POO). Sin embargo, hay que decir que se puede hacer código muy bueno y respetable, incluso sin la necesidad de la programación orientada a objetos (y si no que lo digan los programadores de C).

De momento, nos despedimos diciendo: Disfruten de lo que hacen, tanto que se convierta, no en un trabajo, sino en una diversión. Hasta Pronto.