Clases Persona y Empleado en Java: Encapsulamiento, Herencia y Cálculo de Edad

Informática5,75 KB

Clases Persona y Empleado en Java

public class Persona

{

protected String nombres;

protected String apellidos;

protected String direccion;

protected int rut;

protected String sexo;

protected String fechaNacimiento;

public Persona(String nombres, String apellidos, String direccion, int rut, String sexo, String fechaNacimiento)

{

this.nombres = nombres;

this.apellidos = apellidos;

this.direccion = direccion;

this.rut = rut;

this.sexo = sexo;

this.fechaNacimiento = fechaNacimiento;

}

public String getNombres()

{

return nombres;

}

public void setNombres(String nombres)

{

this.nombres = nombres;

}

public String getDireccion()

{

return direccion;

}

public void setDireccion(String direccion)

{

this.direccion = direccion;

}

public String getApellidos()

{

return apellidos;

}

public int getRut()

{

return rut;

}

public String getSexo()

{

return sexo;

}

public String getFechaNacimiento()

{

return fechaNacimiento;

}

public int calculaEdad(String fechaActual)

{

int edad = 0;

if (fechaActual != null)

{

// Formato dd-mm-aaaa

int dia1 = Integer.parseInt(fechaActual.substring(0, 2));

int mes1 = Integer.parseInt(fechaActual.substring(3, 5));

int anio1 = Integer.parseInt(fechaActual.substring(fechaActual.length() - 4, fechaActual.length()));

int dia2 = Integer.parseInt(fechaNacimiento.substring(0, 2));

int mes2 = Integer.parseInt(fechaNacimiento.substring(3, 5));

int anio2 = Integer.parseInt(fechaNacimiento.substring(fechaNacimiento.length() - 4, fechaNacimiento.length()));

if (anio1 > anio2 && mes1 > mes2)

edad += anio1 - anio2;

else if (anio1 > anio2 && mes1 == mes2 && dia1 > dia2)

edad += anio1 - anio2;

}

return edad;

}

}

Clase Empleado (herencia de Persona)

public class Empleado extends Persona

{

private final String profesion;

private int sueldo;

private String tipoTrabajo;

public Empleado(String nombres, String apellidos, String direccion, int rut, String sexo, String fechaNacimiento, String profesion, int sueldo, String tipoTrabajo)

{

super(nombres, apellidos, direccion, rut, sexo, fechaNacimiento);

this.profesion = profesion;

this.sueldo = sueldo;

this.tipoTrabajo = tipoTrabajo;

}

public int getSueldo()

{

return sueldo;

}

public void setSueldo(int sueldo)

{

this.sueldo = sueldo;

}

public String getTipoTrabajo()

{

return tipoTrabajo;

}

public void setTipoTrabajo(String tipoTrabajo)

{

this.tipoTrabajo = tipoTrabajo;

}

public String getProfesion()

{

return profesion;

}

public void reajustarSueldo(double reajuste)

{

sueldo = (int)(sueldo * (1 + reajuste / 100));

}

public void reajustarSueldo(String actividad)

{

if (actividad != null)

{

if (actividad.equalsIgnoreCase"ingenier"))

sueldo = 850000;

else if (actividad.equalsIgnoreCase"técnic"))

sueldo = 450000;

else if (actividad.equalsIgnoreCase"educación medi"))

sueldo = 250000;

}

}

}

Clase Item3: desglose de dinero y cálculo de distancia

public class Item3

{

private int desglose[] = new int[11];

private final int monedas[] = {20000, 10000, 5000, 2000, 1000, 500, 100, 50, 10, 5, 1};

public void desgloseDinero(int dinero)

{

if (dinero > 0)

{

int posicionDesglose = 0;

while (dinero > 0)

{

desglose[posicionDesglose] = (int)(dinero / monedas[posicionDesglose]);

dinero = dinero % monedas[posicionDesglose++];

}

}

}

public double distancia(double x1, double y1, double x2, double y2)

{

return Math.sqrt(Math.pow(x2 - x1, 2) + Math.pow(y2 - y1, 2));

}

}

Descargar

PDF Word HTML