Código PHP:
Ver original<?php
// Ejemplo Clasico de Polimorfismo en cualquier lenguaje
abstract class Figura
{
abstract public function area();
abstract public function perimetro();
}
class Cuadrado extends Figura
{
public function area()
{
echo 'Area de un Cuadrado<br>';
}
public function perimetro()
{
echo 'Perimetro de un Cuadrado<br>' ;
}
}
class Circulo extends Figura
{
public function area()
{
echo 'Area de un Circulo<br>';
}
public function perimetro()
{
echo 'Perimetro de un Circulo<br>' ;
}
}
class Geometria
{
private $_figura;
public function __construct(Figura $figura)
{
$this->_figura = $figura;
}
public function calcular()
{
$this->_figura->area();
$this->_figura->perimetro();
}
}
$calc = new Geometria(new Circulo());
$calc->calcular();