* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* $Id$
* Universidad de los Andes (Bogot - Colombia)
* Departamento de Ingeniera de Sistemas y Computacin
* Licenciado bajo el esquema Academic Free License version 2.1
*
* Proyecto Cupi2
* Ejercicio: n1_empleado
* Autor: Mario Snchez - 13/06/2005
* Autor: Mario Snchez - 02/2005
* Autor: Pablo Barvo - 22/08/2005
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
package uniandes.cupi2.empleado.mundo;
/**
* Esta clase representa un empleado
*/
public class Empleado
{
//----------------------------------------------------------------// Atributos
//----------------------------------------------------------------/**
* Nombre
*/
private String nombre;
/**
* Apellido
*/
private String apellido;
/**
* Sexo o genero
*/
private int sexo;
/**
* Fecha de nacimiento
*/
private Fecha fechaNacimiento;
/**
* Fecha de ingreso
*/
private Fecha fechaIngreso;
/**
* Ruta de la imagen
*/
private String imagen;
/**
* Salario
*/
private int salario;
/**
* Retorna la ruta donde se encuentra la imagen del empleado
* @return imagen
*/
public String darImagen( )
{
return imagen;
}
/**
* Retorna el nombre del empleado
* @return nombre
*/
public String darNombre( )
{
return nombre;
}
/**
* Retorna
* @return
*/
public int
{
return
}
/**
* Retorna
* @return
*/
public int
{
return
}
/**
* Retorna la edad de la persona en aos.
* @return Edad de la persona
*/
public int darEdad( )
{
// Obtiene la fecha actual
Fecha hoy = new Fecha( );
hoy.inicializarHoy( );
//Calcula la diferencia de aos
int edad = fechaNacimiento.darDiferenciaEnMeses( hoy ) / 12;
return edad;
}
/**
* Retorna la antigedad del empleado en aos.
* @return Antigedad del empleado
*/
public int darAntiguedad( )
{
// Obtiene la fecha actual
Fecha hoy = new Fecha( );
hoy.inicializarHoy( );
//Calcula la diferencia de aos
int antiguedad = fechaIngreso.darDiferenciaEnMeses( hoy ) / 12;
return antiguedad;
}
/**
* Este mtodo sirve para saber las prestaciones del empleado usando la frmula:
p = (a * s)/12 (p: prestaciones, a: antigedad, s: salario). <br>
* La antigedad que se utiliza est dada en aos, as que si un empleado lleva meno
s de un ao en la empresa, sus prestaciones sern 0.
* @return Prestaciones a las que tiene derecho
*/
public double darPrestaciones( )
{
int antiguedad = darAntiguedad( );
/*double prestaciones = ( ( double ) ( antiguedad * salario ) ) / 12+bon
ificacion;*/
double prestaciones = ( ( double ) ( salario +bonificacion));
return prestaciones;
}
public double darbonificacion(){
int subalternos=darSubalternos();
double bonificacion = ( ( double ) ( 7 * salario )/100)*(subalternos);
return bonificacion;
}
public int darSubalternos()
{
return subalternos;
}
}
/**
* Cambia la ruta donde est la imagen del empleado. <br>
* <b>post: </b> imagen == pImagen.
* @param pImagen La nueva ruta de la imagen del empleado. pImagen != null.
*/
public void cambiarImagen( String pImagen )
{
imagen = pImagen;
}
/**
* Cambia el salario del empleado. <br>
* <b>post: </b> salario == pSalario.
* @param pSalario El nuevo salario del empleado.
*/
public void cambiarSalario( int pSalario )
{
salario = pSalario;
}
//----------------------------------------------------------------// Puntos de Extensin
//----------------------------------------------------------------/**
* Mtodo de extensin 1
* @return Resultado de la operacin
*/
public int metodo1( )
{
return subalternos;
}
/**
* Mtodo de extensin 2
* @return Resultado de la operacin
*/
public double metodo2( )
{
return bonificacion;
}