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

 

 

 

 

 

   

MANUAL DE PHP. Parte 2. OBJETOS/POLIMORFISMO

¿A qué les suena la palabra POLIMORFISMO?

Pues hablando etimológicamente:
Poli: multi o varias.
Morfo: forma

No, no es un arranque de erudición, es en realidad una necesidad conceptual para explicar de mejor manera lo que significa polimorfismo.

En otras palabras, el polimorfismo en un objeto, es simplemente un objeto (o un método) que cambia de forma conforme se le necesite.

Cuando vemos un objeto y le pedimos que haga algo llamando a uno de sus métodos, no necesariamente tenemos que saber cómo hace lo que hace, salvo, claro, cuando creamos las clases o definimos los métodos.

La premisa del polimorfismo es simplemente que, podemos definir métodos que hagan cosas similares (o que incluso tengan el mismo nombre), pero que, un objeto no tenga conocimiento del proceder de lo que hace el método en otro objeto al que también se le aplica el método “polimorfizado”

Pongamos un ejemplo, si tomamos en cuenta el hecho de que tenemos dos subclases que se derivan de la superclase canimal, es decir cperros y cgatos. Nuestra definición de la superclase canimal es la siguiente:

class canimal{

function canimal($patas){

$this->patas = $patas;

}

function sonido(){

echo "Este animal Ladra";

}

Y nuestra impresión en pantalla la haríamos de la siguiente forma:

echo $mish->sonido();

echo $fido->sonido();

La salida final es la siguiente:


Claro está, a menos que se trate de un gato bilingüe, en definitiva los gatos no ladran, maúllan. ¿Qué hacer si la superclase ha HEREDADO el método sonido() a la subclase cgatos? Fácil, hacemos lo siguiente en la subclase cgatos:

class cgatos extends canimal{

function sonido(){

echo "En realidad este animal maúlla";
}

}

Obteniendo este glorioso resultado:

[Objeto Flash Eliminado]

Como vemos, el polimorfismo le da el control a una subclase la posibilidad de tomar un método y moldearlo a su conveniencia.

En nuestro próximo encuentro Agregado (Agregación en una traducción literal). Hasta Pronto.