Buenas compis!!, ando intentando cambiar la forma de programar de estilo por procedimientos a estilo orientado a objetos, y me preguntaba si este sencillo ejemplo que he hecho estaría bien planteado y que cumple con todos los requisitos para que esté orientado a objetos correctamente
Código PHP:
Ver original<?php
class Empleado {
private $nombre;
private $apellidos;
private $dni;
private $sueldoAnual;
public function Empleado($nombre, $apellidos, $dni, $sueldoAnual) {
$this->setNombre($nombre);
$this->setApellidos($apellidos);
$this->setDni($dni);
$this->setSueldoAnual($sueldoAnual);
}
public function ascender($porcentaje) {
$nuevoSueldo = $this->getSueldoAnual() + $this->porcentaje($porcentaje);
$this->setSueldoAnual($nuevoSueldo);
}
public function descender($porcentaje) {
$nuevoSueldo = $this->getSueldoAnual() - $this->porcentaje($porcentaje);
$this->setSueldoAnual($nuevoSueldo);
}
public function porcentaje($porcentaje) {
return $this->getSueldoAnual() * $porcentaje / 100;
}
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($sueldoAnual) {
$this->sueldoAnual = $sueldoAnual;
}
}
?>
Un saludo!!