20 - Operador instanceof |
<html>
<head>
<title>Pruebas</title>
</head>
<body>
<?php
abstract class Trabajador {
protected $nombre;
protected $sueldo;
public function __construct($nom,$sue)
{
$this->nombre=$nom;
$this->sueldo=$sue;
}
public function retornarSueldo()
{
return $this->sueldo;
}
public function retornarNombre()
{
return $this->nombre;
}
}
class Empleado extends Trabajador {
}
class Gerente extends Trabajador {
}
$vec[]=new Empleado('juan',1200);
$vec[]=new Empleado('ana',1000);
$vec[]=new Empleado('carlos',1000);
$vec[]=new Gerente('jorge',25000);
$vec[]=new Gerente('marcos',8000);
$may=-1;
$nom='';
for($f=0;$f<count($vec);$f++)
{
if ($vec[$f] instanceof Gerente)
{
if ($vec[$f]->retornarSueldo()>$may)
{
$may=$vec[$f]->retornarSueldo();
$nom=$vec[$f]->retornarNombre();
}
}
}
echo 'El nombre del gerente con mayor sueldo es:'.$nom.'<br>';
echo 'Y tiene un sueldo de :'.$may.'<br>';
?>
</body>
</html>Ejecutar ejemplo
Plantear una clase Trabajador. Definir como atributos su nombre y sueldo. Declarar un método que retorne el sueldo y otro el nombre.
Plantear una subclase Empleado y otra subclase Gerente.
Crear un vector con 3 empleados y 2 gerentes. Mostrar el nombre y sueldo del gerente que gana más en la empresa.