Anda di halaman 1dari 5

/**

* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* $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;

private int subalternos;


private double bonificacion;
//----------------------------------------------------------------// Mtodos
//----------------------------------------------------------------/**
* Inicializa un empleado con la informacin bsica. <br>
* <b>post: </b> El objeto empleado tiene sus datos bsicos asignados.
* @param pNombre El nombre del empleado. pNombre != null.
* @param pApellido El apellido del empleado. pApellido != null.
* @param pSexo El sexo del empleado. pSexo pertenece a {1,2}.
* @param pFechaN La fecha de nacimiento del empleado. pFechaN != null.
*/
public void inicializar( String pNombre, String pApellido, int pSexo, Fecha
pFechaN, Fecha pFechaI, int pSalario, int pSubalternos )
{
nombre = pNombre;
apellido = pApellido;
sexo = pSexo;
fechaNacimiento = pFechaN;
fechaIngreso = pFechaI;
imagen = null;
salario = pSalario;
subalternos=pSubalternos;
bonificacion=darbonificacion();
}
/**
* Retorna el apellido del empleado
* @return apellido
*/
public String darApellido( )
{
return apellido;
}
/**
* Retorna la fecha de ingreso del empleado en una cadena
* @return fechaIngreso
*/
public String darFechaIngreso( )
{
String strFecha = fechaIngreso.toString( );
return strFecha;
}
/**
* Retorna la fecha de nacimiento del empleado en una cadena
* @return fechaNacimiento
*/
public String darFechaNacimiento( )
{
String strFecha = fechaNacimiento.toString( );
return strFecha;
}

/**
* 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
}

el salario del empleado


salario
darSalario( )
salario;

el sexo del empleado.


sexo. sexo pertenece a {1 , 2 }
darSexo( )
sexo;

/**
* 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;
}

public void asignarsubalternos(int pSubalternos){


subalternos=pSubalternos;
}
public void asignarbonificacion(double pBonificacion){
bonificacion=pBonificacion;
}

public void cambiarFechaIngreso( Fecha pFechaIngreso )


{
fechaIngreso = pFechaIngreso;

}
/**
* 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;
}

Anda mungkin juga menyukai