Clase empleado

class Empleado {

    private $nombre;
    private $dni;
    private $sueldo;

    function __construct($nombre, $dni, $sueldo = 1000) {
        $this->setNombre($nombre) ;
        $this->setDni($dni);
        $this->setSueldo($sueldo);
    }

    function verEmpleado() {
        return $this->getNombre() . " - " . $this->getDni() . " - " . $this->getSueldo();
    }

    function sueldoNeto() {
        return $this->getSueldo() * 0.85;
    }

    private function validar_dni($dni) {
        $letra = substr($dni, -1);
        $numeros = substr($dni, 0, -1);
        if (substr("TRWAGMYFPDXBNJZSQVHLCKE", $numeros % 23, 1) == $letra && strlen($letra) == 1 && strlen($numeros) == 8) {
            return true;
        } else {
            return false;
        }
    }

    function setSueldo($sueldo) {
        if ($sueldo < 900) {
            throw new Exception("El sueldo no puede ser menor que el interprofesional");
        }
        $this->sueldo = $sueldo;
    }

    function setNombre($nombre) {
        if (empty($nombre)) {
            throw new Exception("El nombre no puede estar vacío");
        }
        $this->nombre = $nombre;
    }

    function setDni($dni) {
        if (!$this->validar_dni($dni)) {
            throw new Exception("DNI no válido");
        }
        $this->dni = $dni;
    }

    function getSueldo() {
        return $this->sueldo;
    }

    function getNombre() {
        return $this->nombre;
    }

    function getDni() {
        return $this->dni;
    }

}

$pepe = new Empleado("José Pérez", "12345678Z");
$pepe->setSueldo(2000); //Esto nos permite acceder a la propiedad
echo $pepe->verEmpleado();

Publicado por

Avatar del usuario

Juan Pablo Fuentes

Formador de programación y bases de datos