Temas > Programacion > Php > Operador instanceof en php
Julio

Operador instanceof
Cuando tenemos una lista de objetos de distinto tipo y queremos
saber si un objeto es de una determinada clase el lenguaje PHP nos
provee del operador instanceof.
Confeccionaremos un problema que contenga un vector con objetos
de la clase Empleado y Gerente. Luego calcularemos cuanto ganan en
total los empleados y los gerentes.
<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;
    }
}
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);
$suma1=0;
$suma2=0;
for($f=0;$f<count($vec);$f++)
{
    if ($vec[$f] instanceof Empleado)
        $suma1=$suma1+$vec[$f]->retornarSueldo();
    else
        if ($vec[$f] instanceof Gerente)
            $suma2=$suma2+$vec[$f]->retornarSueldo();
}
echo `Gastos en sueldos de Empleados:`.$suma1.`<br>`;
echo `Gastos en sueldos de Gerentes:`.$suma2.`<br>`;
?>
</body>
</html>
Hemos planteado tres clases, la clase Trabajador es una clase
abstracta:
abstract class Trabajador {
...
}
Las clases Empleado y Gerente son subclase de la clase Trabajador
y en este caso por simplicidad no agregan ninguna funcionalidad a la
clase padre:
class Empleado extends Trabajador {
}
class Gerente extends Trabajador {
}
Ahora veamos la parte que nos interesa, primero creamos 5 objetos,
3 de la clase Empleado y 2 de la clase Gerente:
$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);
Como podemos ver los 5 objetos se almacenan en un vector. Ahora
tenemos que ver cuanto se gasta en sueldos pero separando lo que
ganan los empleados y los gerentes:
$suma1=0;
$suma2=0;
for($f=0;$f<count($vec);$f++)
{
   if ($vec[$f] instanceof Empleado)
       $suma1=$suma1+$vec[$f]->retornarSueldo();
   else
       if ($vec[$f] instanceof Gerente)
           $suma2=$suma2+$vec[$f]->retornarSueldo();
}
Mediante el operador instanceof preguntamos por cada elemento del
vector y verificamos si se trata de una instancia de la clase Empleado o
de la clase Gerente.
Finalmente mostramos los acumuladores:
echo `Gastos en sueldos de Empleados:`.$suma1.`<br>`;
echo `Gastos en sueldos de Gerentes:`.$suma2.`<br>`;













¿Has olviado tu contraseña?

Pulsa aquí para registrate




Google






LunMarMieJueVieSabDom
     12
3456789
10111213141516
17 181920212223
24252627282930
31      

Martes 18 de Agosto 2026
Semana 34



Php


-Continuar usando PhpExcel con php7 y superiores
-Continuar enviando correos con phpmailer y gmail
-Instalar php-geoip en ubuntu 16.04
-Conectar remotamente php con sql server
-Generar codigo de barras en php
-Diferencia de dias entre dos fechas en php
-Sumar un dia a una fecha en php
-Restar una fecha con otra fecha en php
-Metodos estaticos de una clase static en php
-Metodo destructor de una clase destruct en php
-Funcion clone() en php
-Referencia y clonacion de objetos en php
-Metodos y clases final
-Metodos abstractos en php
-Sobreescritura del constructor en php
-Sobreescritura de metodos en php
-Colaboracion de objetos en php
-Modificador acceso a atributos y metodos protected
-Herencia en php
-Parametros opcionales en php
-Parametros de tipo objeto en php
-Modificar a accesos a atributos y metodos publicos
-Llamada de metodos dentro de la clase en php
-Metodo constructor de una clase construct en php
-Atributos de una clase en php
-Metodos de una clase en php
-Concepto de programacion orientada a objetos (POO)
-Declarar una clase y creacion de un objeto en php
-Agregar imagenes dinamicas en un archivo HTML php
-Creacion de imagenes dinamicas desde PHP
-Redireccionar a otra pagina header en php
-$_SESSION Variables de sesion en php
-Cookie de sesion en php
-Borrado de una cookie en php
-Creacion y lectura de una cookie en php
-Upload Subir un archivo al servidor en php
-Paginacion de registros en php
-Parámetros en un hipervínculo en php
-Clausula Group By de SQL en php
-UPDATE Modificacion de un registro trabajando php
-Funcion count de SQL en php
-INNER JOIN Seleccion de registros de varias tablas
-INSERT usando una consulta previa a una tabla php
-UPDATE Modificacion de un registro de una taba php
-DELETE Borrar todos los registros de una tabla php
-DELETE Borrar registros de una tabla en php
-Consultas sql en php
-Mostrar registros sql en php
-Insert en php
-Bases de Datos MySQL con php
-Funciones en PHP
-Vectores asociativos en php
-Lectura de un archivo de texto en php
-Creacion de un archivo de texto en php
-Arrays en php
-Formularios Control textarea en php
-Formularios Control select en php
-Formularios Control checkbox en php
-Formularios Control radio en php
-Envio de datos de un FORMULARIO en php
-For while do while en php
-If en php
-Tipo String en php
-Tipos de variables en php
-Segundo programa en PHP
-Programa Hola Mundo en PHP
-Que es PHP
-No mostrar errores en php
-Como separar datos pegados de excel para textarea
-Operadores relacionales en php
-$_POST no funciona
-Como saber la ip remota de mi visita en php
-Buscador para nuestra pagina
-Volver a inicializar mysql_fetch_array
-Phpmyadmin Cannot start session without error
-Plantilla para web en php
-Header location no funciona
..............................................................................................................................................................................................................................................
(Contacto)..
Esta web utiliza cookies para obtener datos estadísticos de la navegación de sus usuarios. Política de privacidad y Aviso legal