0% encontró este documento útil (0 votos)
26 vistas3 páginas

Clases Java para Gestión de Empleados

El documento presenta una implementación en Java de un sistema de gestión de empleados y facturas utilizando clases abstractas y polimorfismo. Incluye clases para empleados asalariados y por hora, así como una clase para facturas, cada una con métodos para calcular el pago y representar la información en formato de cadena. También se incluye una clase principal que demuestra la creación de instancias y la impresión de sus detalles.

Cargado por

fert125
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas3 páginas

Clases Java para Gestión de Empleados

El documento presenta una implementación en Java de un sistema de gestión de empleados y facturas utilizando clases abstractas y polimorfismo. Incluye clases para empleados asalariados y por hora, así como una clase para facturas, cada una con métodos para calcular el pago y representar la información en formato de cadena. También se incluye una clase principal que demuestra la creación de instancias y la impresión de sus detalles.

Cargado por

fert125
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

EJEMPLO PROGRAMA

[Link]

public abstract class Empleado implements Payable {


private final String nombre;
private final String apellido;
private final String dni;
private final Fecha fechaNacimiento;

public Empleado(String nombre, String apellido, String dni, Fecha


nacimiento) {
[Link] = nombre;
[Link] = apellido;
[Link] = dni;
[Link] = nacimiento;
}

public String toString() {


return [Link]("%s %s (DNI: %s) - Nac: %s",
nombre, apellido, dni, fechaNacimiento);
}
}

[Link]

public class EmpleadoAsalariado extends Empleado {


private double salarioSemanal;

public EmpleadoAsalariado(String nombre, String apellido, String dni, Fecha nac,


double salario) {
super(nombre, apellido, dni, nac);
[Link] = salario;
}

public double getPaymentAmount() {


return salarioSemanal;
}

public String toString() {


return "Asalariado: " + [Link]() +
[Link](" | Salario: $%.2f", salarioSemanal);
}
}

[Link]

public class EmpleadoPorHora extends Empleado {


private double horas;
private double tarifa;
public EmpleadoPorHora(String nombre, String apellido, String dni, Fecha nac,
double horas, double tarifa) {
super(nombre, apellido, dni, nac);
[Link] = horas;
[Link] = tarifa;
}

public double getPaymentAmount() {


if (horas <= 40)
return horas * tarifa;
else
return 40 * tarifa + (horas - 40) * tarifa * 1.5;
}

public String toString() {


return "Por Hora: " + [Link]() +
[Link](" | Horas: %.2f | Pago: $%.2f", horas, getPaymentAmount());
}
}

[Link]

public class Factura implements Payable {


private String codigo;
private String descripcion;
private int cantidad;
private double precioUnitario;

public Factura(String codigo, String descripcion, int cantidad, double precio) {


[Link] = codigo;
[Link] = descripcion;
[Link] = cantidad;
[Link] = precio;
}

public double getPaymentAmount() {


return cantidad * precioUnitario;
}

public String toString() {


return [Link]("Factura: %s (%s) x%d - $%.2f",
codigo, descripcion, cantidad, getPaymentAmount());
}
}

fecha

public class Fecha {


private int dia;
private int mes;
private int anio;
public Fecha(int dia, int mes, int anio) {
[Link] = dia;
[Link] = mes;
[Link] = anio;
}

public String toString() {


return [Link]("%02d/%02d/%d", dia, mes, anio);
}
}

MAIN

public class Main {


public static void main(String[] args) {
Payable[] items = new Payable[4];

items[0] = new EmpleadoAsalariado("Ana", "Lopez", "123", new Fecha(1, 1, 1990),


800.0);
items[1] = new EmpleadoPorHora("Juan", "Perez", "456", new Fecha(5, 6, 1985),
42, 20.0);
items[2] = new Factura("A1", "Teclado", 2, 150.0);
items[3] = new Factura("B2", "Mouse", 3, 100.0);

for (Payable p : items) {


[Link](p);
}

// Demostracion de sobrecarga de métodos


[Link]("\nPruebas con Util:");
[Link]("Square de 5: " + [Link](5));
[Link]("Square de 3.2: " + [Link](3.2));
[Link]("Maximo de 4.5, 9.2 y 3.1: " + [Link](4.5, 9.2, 3.1));
}
}

[Link]

public interface Payable {


double getPaymentAmount();
}

[Link]

También podría gustarte