Código PHP:
Ver original<?php
class Empleado {
private $nombre;
private $apellidos;
private $dni;
private $sueldoAnual;
public function __construct($nombre, $apellidos, $dni, Salario $sueldoAnual) {
$this->setNombre($nombre);
$this->setApellidos($apellidos);
$this->setDni($dni);
$this->setSueldoAnual($sueldoAnual);
}
public function getPrimerApellido() {
$porcion = explode(" ", $this->getApellidos()); return $porcion[0];
}
public function getSegundoApellido() {
$porcion = explode(" ", $this->getApellidos()); return $porcion[1];
}
public function getNombre() {
return $this->nombre;
}
public function getApellidos() {
return $this->apellidos;
}
public function getDni() {
return $this->dni;
}
public function getSueldoAnual() {
return $this->sueldoAnual;
}
public function setNombre($nombre) {
$this->nombre = $nombre;
}
public function setApellidos($apellidos) {
$this->apellidos = $apellidos;
}
public function setDni($dni) {
$this->dni = $dni;
}
public function setSueldoAnual(Salario $sueldoAnual) {
$this->sueldoAnual = $sueldoAnual;
}
}
class Salario {
private $cantidad;
public function __construct($cantidad) {
$this->setCantidad($cantidad);
}
public function getCantidad() {
return $this->cantidad;
}
public function setCantidad($cantidad) {
$this->cantidad = $cantidad;
}
public function modificar($porcentaje) {
$nuevaCantidad= $this->getCantidad() + $this->porcentaje($porcentaje);
$this->setCantidad($nuevaCantidad);
}
public function porcentaje($porcentaje) {
return $this->getSueldoAnual() * $porcentaje / 100;
}
}
?>
Todo esto es muy bonito como introducción a la programación orientada a objetos, pero programar aplicaciones tochas es muchísmo más complejo.
KISS, DRY, principios SOLID, patrones de diseño, arquitectura de software, código limpio, refactorización...