Propiedades:
Nombre (pública)
Fecha Contrato (Privada)
Sueldo (Privada)
Constructor: Poner la fecha del contrato la de hoy
Funciones:
setSueldo($valor) Pone en sueldo el valor si está entre 600 y 3000
getSueldo() Nos devuelve el valor del sueldo
sueldoNeto() Nos devuelve el valor del sueldo menos el IRPF
IRPF() Nos devuelve el valor del IRPF (puede ser privada). Si el sueldo es entre 600 y 1000, 10%. Entre 1000 y 2000, 13%. Entre 2000 y 3000, 16%
Solución:
<?php
class empleado {
public $nombre;
private $fechaContrato;
private $sueldo;
function __construct() {
$this->fechaContrato = date("d/m/Y");
}
function setSueldo($valor) {
if ($valor >= 600 and $valor <= 3000) {
$this->sueldo = $valor;
}
}
function getSueldo() {
return $this->sueldo;
}
private function irpf() {
if ($this->getSueldo() <= 1000) {
return .1;
}
if ($this->sueldo <= 2000) {
return .13;
}
if ($this->sueldo <= 3000) {
return .16;
}
return 0;
}
function sueldoNeto(){
return $this->sueldo*(1-$this->irpf());
}
}
$paco=new empleado();
$paco->setSueldo(1500);
echo $paco->sueldoNeto();