Ejercicio php - polimorfismo

Seguent comentari

 

Polimorfismo



El polimorfismo es un concepto clave en la programación orientada a objetos (POO) que permite que objetos de diferentes clases sean tratados de manera uniforme cuando implementan una interfaz común o heredan de la misma clase base.

En PHP, puedes lograr el polimorfismo mediante la herencia y la implementación de interfaces.

 

interface Animal {

    public function hacerSonido();

}

 

class Perro implements Animal {

    public function hacerSonido() {

        echo "El perro hace: ¡Guau! <br>";

    }

}

 

class Gato implements Animal {

    public function hacerSonido() {

        echo "El gato hace: ¡Miau! <br>";

    }

}

 

// Función que toma un objeto Animal como parámetro

function hacerRuidoAnimal(Animal $animal) {

    $animal->hacerSonido();

}

 

// Creación de objetos de diferentes clases pero del tipo Animal

$perro = new Perro();

$gato = new Gato();

 

// Llamada a la función hacerRuidoAnimal con diferentes objetos

hacerRuidoAnimal($perro);

hacerRuidoAnimal($gato);


En este ejemplo, se define la interfaz Animal que contiene el método hacerSonido(). Las clases Perro y Gato implementan la interfaz Animal y proporcionan una implementación del método hacerSonido() específico para cada animal.

La función hacerRuidoAnimal() toma un objeto del tipo Animal como parámetro y llama al método hacerSonido() del objeto pasado. Debido al polimorfismo, podemos pasar tanto un objeto Perro como un objeto Gato a esta función, ya que ambas clases implementan la interfaz Animal. El comportamiento de la función hacerRuidoAnimal() dependerá del tipo de objeto que se le pase como argumento.

En resumen, el polimorfismo en PHP nos permite tratar objetos de diferentes clases de manera uniforme cuando comparten una interfaz común o una clase base. Esto simplifica el código y permite la reutilización y extensibilidad, ya que podemos trabajar con diferentes objetos utilizando una misma interfaz o clase base sin preocuparnos por los detalles específicos de cada implementación.

0 comments:

Publicar un comentario

Programació web en l'entorn Servidor.

Curs subvencionat