Está en la página 1de 11

MiembroStaff

package unidad4;

public abstract class MiembroStaff {

protected String nombre;

protected String direccion;

protected String telefono;

public MiembroStaff(String nombre, String direccion, String telefono) {

this.setNombre(nombre);

this.setDireccion(direccion);

this.setTelefono(telefono);

public void setNombre(String nombre) {

this.nombre = nombre;

public void setDireccion(String direccion) {

this.direccion = direccion;

public void setTelefono(String telefono) {

this.telefono = telefono;

public String getNombre() {

return nombre;
}

public String getDireccion() {

return direccion;

public String getTelefono() {

return telefono;

@Override

public String toString() {

return "Nombre: " + this.getNombre() + "\n" +

"Direccion: " + this.getDireccion() + "\n" +

"Telefono: " + this.getTelefono();

public abstract double pagar();

Empleado
package unidad4;

public class Empleado extends MiembroStaff {

protected String seguroSocial;

protected double salario;

public Empleado(String nombre, String direccion, String telefono,

String seguroSocial, double salario) {

super(nombre, direccion, telefono);

this.setSeguroSocial(seguroSocial);
this.setSalario(salario);

public void setSeguroSocial(String seguroSocial) {

this.seguroSocial = seguroSocial;

public void setSalario(double salario) {

this.salario = salario;

public String getSeguroSocial() {

return seguroSocial;

public double getSalario() {

return salario;

@Override

public String toString() {

return super.toString() +

"\nNumero de Seguro Social : " + this.getSeguroSocial();

@Override

public double pagar() {

return salario;

}
}

Ejecutivo
package unidad4;

public class Ejecutivo extends Empleado {

private double bono;

public Ejecutivo(String nombre, String direccion, String telefono,

String seguroSocial, double salario) {

super(nombre, direccion, telefono, seguroSocial, salario);

this.setBono(0);

public void setBono(double bono) {

this.bono = bono;

//-----------------------------------------------------------------

// Calcula y regresa el pago para un ejecutivo, que se calcula

// agregando al pago regular un bono

//-----------------------------------------------------------------

public double pagar() {

double pago = super.pagar() + bono;

return pago;

}
Operador
package unidad4;

public class Operador extends Empleado {

protected int horasTrabajadas;

public Operador(String nombre, String direccion, String telefono,

String seguroSocial, double salario) {

super(nombre, direccion, telefono, seguroSocial, salario);

this.setHorasTrabajadas(0);

public void setHorasTrabajadas(int horas) {

horasTrabajadas = horas;

public int getHorasTrabajadas() {

return horasTrabajadas;

public double pagar() {

double pago = salario * horasTrabajadas;

return pago;

@Override

public String toString() {

return super.toString() + "\nHoras trabajadas: " +


this.getHorasTrabajadas();

OperadorPorComision

package unidad4;

public class OperadorPorComision extends Operador{

protected double totalDeVentas;

protected double porcentajePorComision;

public OperadorPorComision(String nombre,String direccion, String telefono,

String seguroSocial,double salario,double porcentajePorComision){

super(nombre,direccion,telefono,seguroSocial,salario);

this.setPorcentajePorComision(porcentajePorComision);

public void setTotalDeVentas(double totalDeVentas){

this. totalDeVentas = totalDeVentas;

public void setPorcentajePorComision(double porcentajePorComision){

this. porcentajePorComision = porcentajePorComision;

public double getTotalDeVentas(){

return totalDeVentas;

}
public double getPorcentajePorComision(){

return porcentajePorComision;

public double pagar() {

double pago = (horasTrabajadas*salario) + (totalDeVentas+porcentajePorComision);

return pago;

@Override

public String toString() {

return super.toString() + "\nTotal de ventas: " +

this.getTotalDeVentas() + "\nPorcentaje por comision: " +

this.getPorcentajePorComision();

Voluntario
package unidad4;

public class Voluntario extends MiembroStaff {

public Voluntario(String nombre, String direccion, String telefono) {

super(nombre, direccion, telefono);

@Override
public double pagar() {

return 0.0;

Staff
package unidad4;

public class Staff {

MiembroStaff[] listaStaff;

public Staff() {

listaStaff = new MiembroStaff[8];

listaStaff[0] = new Ejecutivo("Samuel", "Ave. del Desierto",

"555-0469", "123-45-6789", 2423.07);

listaStaff[1] = new Empleado("Carla", "Ave. Lopez Mateos",

"555-0101", "987-65-4321", 1246.15);

listaStaff[2] = new Empleado("Roberto", "Bosque Bonito",

"555-0000", "010-20-3040", 1169.23);

listaStaff[3] = new Operador("Diana", "Ramon Rivera Lara",

"555-0690", "958-47-3625", 10.55);

listaStaff[4] = new Voluntario("Norma", "Teofilo Borunda",

"555-8374");

listaStaff[5] = new Voluntario("Clemente", "Ejercito Nacional",

"555-7282");

listaStaff[6] = new OperadorPorComision("Grisel","Orquideas","252-8928",

"345-21-1234",6.25,0.20);

listaStaff[7] = new OperadorPorComision("Esmeralda","Valle de las margaritas",

"345-0908","564-10-2434",9.75,0.15);

((Ejecutivo) listaStaff[0]).setBono(500.00);
((Operador) listaStaff[3]).setHorasTrabajadas(40);

((OperadorPorComision)listaStaff[6]).setHorasTrabajadas(35);

((OperadorPorComision)listaStaff[6]).setTotalDeVentas(400);

((OperadorPorComision)listaStaff[7]).setHorasTrabajadas(40);

((OperadorPorComision)listaStaff[7]).setTotalDeVentas(950);

//-----------------------------------------------------------------

// Este metodo calcula el pago de todos los miembros del Staff

//-----------------------------------------------------------------

public void diaDePago() {

double cantidad;

for (int cuenta = 0; cuenta < listaStaff.length; cuenta++) {

System.out.println(listaStaff[cuenta]);

cantidad = listaStaff[cuenta].pagar(); // polimorfico

if (cantidad == 0.0) {

System.out.println("Gracias!");

} else {

System.out.println("Pago: " + cantidad);

System.out.println("-----------------------------------");

}
Empresa
package unidad4;

public class Empresa {

//-----------------------------------------------------------------

// Crea el staff de empleados de una empresa y les realiza pago

//-----------------------------------------------------------------

public static void main(String[] args) {

Staff personal = new Staff();

personal.diaDePago();

También podría gustarte