aqui está la imágen del diagramaen argouml
interface.Parlanchin.php
Cita: <?php
interface Parlanchin
{
public function habla();
}
?>
class.Animal.php
Cita: <?php
require_once('interface.Parlanchin.php');
abstract class Animal implements Parlanchin
{
public function habla()
{ }
}
?>
class.Gato.php
Cita: <?php
require_once('class.Animal.php');
class Gato extends Animal
{
public function habla()
{
return "Miau";
}
}
?>
class.Perro.php
Cita: <?php
require_once('class.Animal.php');
class Perro extends Animal
{
public function habla()
{
return "Guau";
}
}
?>
class.Reloj.php
Cita: <?php
abstract class Reloj
{
}
?>
class.Cucu.php
Cita: <?php
require_once('class.Reloj.php');
require_once('interface.Parlanchin.php');
class Cucu extends Reloj implements Parlanchin
{
public function habla()
{
return "Cucú cucú …";
}
}
?>
Y la clase aplicativo es esta.
class.Aplicativo.php
Cita: <?php
require_once('interface.Parlanchin.php');
require_once('class.Gato.php');
require_once('class.Cucu.php');
class Aplicativo
{
public static function hazleHablar( Parlanchin $sujeto)
{
$sujeto.habla();
}
public static function main()
{
self::hazleHablar(new Gato());
self::hazleHablar(new Cucu());
}
}
$instanciar= Aplicativo::main();
echo $instanciar;
?>