Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2016, 08:33
Avatar de rodrypaladin
rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
¿ Estaría el código bien orientado a objetos ?

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
  1. <?php
  2.  
  3. class Empleado {
  4.     private $nombre;
  5.     private $apellidos;
  6.     private $dni;
  7.     private $sueldoAnual;
  8.  
  9.     public function Empleado($nombre, $apellidos, $dni, $sueldoAnual) {
  10.         $this->setNombre($nombre);
  11.         $this->setApellidos($apellidos);
  12.         $this->setDni($dni);
  13.         $this->setSueldoAnual($sueldoAnual);
  14.     }
  15.  
  16.     public function ascender($porcentaje) {
  17.         $nuevoSueldo = $this->getSueldoAnual() + $this->porcentaje($porcentaje);
  18.         $this->setSueldoAnual($nuevoSueldo);
  19.     }
  20.  
  21.     public function descender($porcentaje) {
  22.         $nuevoSueldo = $this->getSueldoAnual() - $this->porcentaje($porcentaje);
  23.         $this->setSueldoAnual($nuevoSueldo);
  24.     }
  25.  
  26.     public function porcentaje($porcentaje) {
  27.         return $this->getSueldoAnual() * $porcentaje / 100;
  28.     }
  29.  
  30.     public function getPrimerApellido() {
  31.         $porcion = explode(" ", $this->getApellidos());
  32.         return $porcion[0];
  33.     }
  34.  
  35.     public function getSegundoApellido() {
  36.         $porcion = explode(" ", $this->getApellidos());
  37.         return $porcion[1];
  38.     }
  39.  
  40.     public function getNombre() {
  41.         return $this->nombre;
  42.     }
  43.  
  44.     public function getApellidos() {
  45.         return $this->apellidos;
  46.     }
  47.  
  48.     public function getDni() {
  49.         return $this->dni;
  50.     }
  51.  
  52.     public function getSueldoAnual() {
  53.         return $this->sueldoAnual;
  54.     }
  55.  
  56.     public function setNombre($nombre) {
  57.         $this->nombre = $nombre;
  58.     }
  59.  
  60.     public function setApellidos($apellidos) {
  61.         $this->apellidos = $apellidos;
  62.     }
  63.  
  64.     public function setDni($dni) {
  65.         $this->dni = $dni;
  66.     }
  67.  
  68.     public function setSueldoAnual($sueldoAnual) {
  69.         $this->sueldoAnual = $sueldoAnual;
  70.     }
  71.  
  72. }
  73.  
  74.  ?>

Un saludo!!
__________________
No te olvides de dar +1 a quien te echa un cable ;)

Última edición por rodrypaladin; 02/08/2016 a las 10:27