Menu principale:
class Dipendente { private $matricola; private $nominativo; private $anno_assunzione; private $livello_retributivo; private static $stipendio_base=800.0; private static $incremento_anzianita=10.00; private static $incremento_livello=25.00; public function __construct($matricola, $nominativo, $anno_assunzione, $livello_retributivo) { $this->setMatricola($matricola); $this->setNominativo($nominativo); $this->setAnno_assunzione($anno_assunzione); $this->setLivello_retributivo($livello_retributivo); } public function setMatricola($matricola) { $this->matricola = $matricola; } public function setNominativo($nominativo) { $this->nominativo = $nominativo; } public function setAnno_assunzione($anno_assunzione) { $this->anno_assunzione = $anno_assunzione; } public function setLivello_retributivo($livello_retributivo) { if($livello_retributivo<1) $livello_retributivo=1; else if($livello_retributivo>4) $livello_retributivo=4; $this->livello_retributivo= $livello_retributivo; } public function setStipendio_base($stipendio_base) { self::$stipendio_base=$stipendio_base; } public function setIncremento_anzianita($incremento_anzianita) { self::$incremento_anzianita=$incremento_anzianita; } public function setIncremento_livello($incremento_livello) { self::$incremento_livello=$incremento_livello; } public function getMatricola() { return $this->matricola; } public function getNominativo() { return $this->nominativo; } public function getAnno_assunzione() { return $this->anno_assunzione; } public function getLivello_retributivo() { return $this->livello_retributivo; } public function getStipendio_base() { return self::$stipendio_base; } public function getIncremento_anzianita() { return self::$incremento_anzianita; } public function getIncremento_livello() { return self::$incremento_livello; } protected function anzianita(){ $anno_corrente=Date("Y"); return $anno_corrente-$this->anno_assunzione; } public function stipendio() { return $this->getStipendio_base()+$this->getLivello_retributivo()* $this->getIncremento_livello() + $this->anzianita()*$this->getIncremento_anzianita(); } public function toString() { $ret="Dipendente ".$this->getNominativo(). "; assunto nel " . $this->getAnno_assunzione(). "; anzianità ". $this-> anzianita()." anni". "; livello ". $this-> getLivello_retributivo(). "; stipendio ".$this->stipendio()." euro "; return $ret; } }
$dipendente1 = new Dipendente("AB123","Rossi Maria", 1998, 3); echo $dipendente1->toString();