Está en la página 1de 2

import javax.swing.

JTextArea; HERENCIA String CodigoGenerado() {


public class Empleado { public class Asistente { DecimalFormat df = new
String codigo; String codigo; DecimalFormat("AG00000");
String nombres; String nombres; return df.format(contador); }
String area; String apellidos; double SueldoBasico() {
double sueldo; String espec; if (cate.equals("A") &&
int hextras; static final double afp = 0.17; espec.equals("RECURSOS HUMANOS")) {
String tipoaf; static final double essalud = 0.05; return 6000; }
//constructor public Asistente(String c, String n, String a, if (cate.equals("A") &&
public Empleado(String c,String n,String String es) { espec.equals("COMPORTAMIENTO
a,double s,int he,String ta){ this.codigo = c; ORGANIZACIONAL")) {
this.codigo=c; this.nombres = n; return 8000;}
this.nombres=n; this.apellidos = a; if (cate.equals("B") &&
this.area=a; this.espec = es; } espec.equals("RECURSOS HUMANOS")) {
this.sueldo=s; //métodos propios return 5000;}
this.hextras=he; String MostrarDatos() { if (cate.equals("B") &&
this.tipoaf=ta; } return "Código : " + this.codigo espec.equals("COMPORTAMIENTO
// metodos propios + "\nNombres :" + this.nombres ORGANIZACIONAL")) {
public double SueldoExtra(){ + "\nApellidos :" + this.apellidos return 7000;}
return (sueldo*hextras)/240; } + "\nEspecialidad :" + this.espec; }} return 0; }
public double MontoAfil(){ import java.text.DecimalFormat; double Bonificacion() {
if(tipoaf.equals("AFP")) public class AsistenteAdministrativa extends return 600; }
return 0.11*sueldo; Asistente { double Movilidad() {
else if(tipoaf.equals("SNP")) String complemen; if (cate.equals("A")) {
return 0.06*sueldo; static int contador = 0; return 700;
return 0; } public AsistenteAdministrativa(String c, String n, } else {
public double MontoEssalud(){ String a, String es, String co) { return 400;}}
return 0.03*sueldo; } super(c, n, a, es); //llama constructor clase base double SueldoBruto() {
public double SueldoNeto(){ this.complemen = co; return (this.SueldoBasico() + this.Bonificacion()
return (sueldo+SueldoExtra()); } contador++; + this.Movilidad()); }
public double MontoDescuento(){ this.codigo = CodigoGenerado(); } double Descuentos() {
return String CodigoGenerado() { return (Asistente.afp + Asistente.essalud) *
(this.MontoAfil()+this.MontoEssalud()); } DecimalFormat df = new this.SueldoBruto();}
public double SueldoBruto(){ DecimalFormat("AA00000"); double SueldoNeto() {
return (this.SueldoNeto()- return df.format(contador); } return this.SueldoBruto() - this.Descuentos();}
this.MontoDescuento()); } double SueldoBasico() { //sobrecarga del mètodo mostrarDatos
// metodo para imprimir los datos del objeto en if (complemen.equals("DIPLOMADO")) { public String MostrarDatos() {
un TextArea return 4200; } return super.MostrarDatos()
Public void ImprimirDatos(JTextArea jtxa){ if (complemen.equals("TALLER")) { + //llamada del método original
jtxa.setText(""); //limpia el objeto return 3200; } "\nCategoría : " + this.cate
jtxa.setText("Codigo : "+codigo+ return 0; } + "\n-------------------------------------------"
"\nNombres : "+nombres+ double Bonifica() { + "\nSueldo Básico :"+
"\nArea : "+area+ if (espec.equals("RECURSOS HUMANOS")) { this.SueldoBasico()
"\nSueldo : "+sueldo+ return 0.15 * SueldoBasico(); } + "\nBonificación :"+
"\nHoras Extras : "+hextras+ if (espec.equals("COMPORTAMIENTO this.Bonificacion()
"\nTipo Afiliación : "+tipoaf+ ORGANIZACIONAL")) { + "\nMovilidad :"+
"\n --------------------------------"+ return 0.20 * SueldoBasico(); } this.Movilidad()
"\nMonto Extra : return 0; } + "\nSueldo Bruto :"+
"+this.SueldoExtra()+ double SueldoBruto() { this.SueldoBruto()
"\nMonto Afiliación : return (this.SueldoBasico() + this.Bonifica()); } + "\nDescuentos :"+
"+this.MontoAfil()+ double Descuentos() { this.Descuentos()
"\nMonto Essalud : return (Asistente.afp*this.SueldoBruto()); } + "\nSueldo Neto :"+
"+this.MontoEssalud()+ double SueldoNeto() { this.SueldoNeto(); }}
"\nMonto Descuento : return this.SueldoBruto() - this.Descuentos(); } //lectura de datos (Boton Mostrar Resumen
"+this.MontoDescuento()+ //sobrecarga del método mostrarDatos //no se pone String c porque es autogenerado
"\nSueldo Bruto : public String MostrarDatos() { String n = this.jtxtNombres.getText();
"+this.SueldoBruto()+ return super.MostrarDatos() String a = this.jtxtApellidos.getText();
"\nSueldo Neto : + //llamada del método original String es =
"+this.SueldoNeto()); } } "\nEstudios Complementarios :" this.jcbxEspecialidad.getSelectedItem().toString(
//lectura de datos BOTON CALCULAR + this.complemen ); String ca =
String c = this.jtxtCodigo.getText(); + "\n-------------------------------------------" this.jcbxCategoria.getSelectedItem().toString();
String n = this.jtxtNombres.getText(); + "\nSueldo Básico :"+ AsistenteGerencia ag = new
String a = this.SueldoBasico() AsistenteGerencia(null, n, a, es, ca);
this.jcbxArea.getSelectedItem().toString(); + "\nBonificación :"+ this.jtxaResumenAG.setText(ag.MostrarDatos());
double s = this.Bonifica()
Double.parseDouble(this.jtxtSueldo.getText(); + "\nSueldo Bruto :"+
int he = this.SueldoBruto()
Integer.parseInt(this.jtxtHorasEx.getText()); + "\nDescuentos :"+
String ta = this.Descuentos()
this.jcbxAfiliacion.getSelectedItem().toString(); + "\nSueldo Neto :"+
Empleado emp = new Empleado(c,n,a,s,he,ta); this.SueldoNeto();}}
//llamamos al metodo que imprime public class AsistenteGerencia extends Asistente
emp.ImprimirDatos(jtxaDatos); { String cate;
static int contador = 0; //atributos que no se
void LimpiarEntradas(){ instancian (hará el autogenerado)
this.jtxtCodigo.setText(""); public AsistenteGerencia(String c, String n, String
this.jtxtNombres.setText(""); a, String es, String ca) {
this.jtxtSueldo.setText(""); super(c, n, a, es);
this.jtxtHorasEx.setText(""); this.cate = ca;
this.jcbxAfiliacion.setSelectedIndex(0); contador++;
this.jcbxArea.setSelectedIndex(0); this.codigo=CodigoGenerado(); }
this.jtxtCodigo.requestFocus(); }
ABSTRACCION //implementación de métodos abstractos
public abstract class constructor { public double SBase() {
private String codigo; if (super.getCondicion().equals("ESTABLE")) {
private String nombres; if (actividad.equals("SUPERVISIÓN DE VÍAS")) {
private String apellidos; return 4000; } else { return 6000; }
private String condicion; } else { if (actividad.equals("SUPERVISIÓN DE
private String espec; VÍAS")) { return 2000; } else { return 4500;}}}
public constructor(String n, String a, String c, public double Bonificacion() {
String e) { switch (super.getEspec()) {
this.nombres = n; case "ESTRUCTURAS":
this.apellidos = a; return 0.16 * SBase();
this.condicion = c; case "RECURSOS HÍDRICOS":
this.espec = e; } return 0.18 * SBase();
//métodos getter y setter - encapsulamiento case "INGENIERÍA VIAL":
public String getCodigo() { return 0.22 * SBase();
return código; } default: return 0;}}
public void setCodigo(String c) { public double Descuentos() {
this.codigo = c; } return (SBase() * (afp +
public String getNombres() { constantes.essalud));}
return nombres;} //métodos propios
public void setNombres(String n) { public double Movilidad() {
this.nombres = n; } if (this.numobras < 17) {
public String getApellidos() { return 400;} else { return 700;} }
return apellidos; } public String MostrarDatos() {
public void setApellidos(String a) { return super.MostrarAtributos()
this.apellidos = a; } + "\nActividad: " + this.actividad
public String getCondicion() { + "\nNùmero de Obras : " + this.numobras
return condicion; } + "\n-----------------------------------"
public void setCondicion(String c) { + "\nMovilidad : " + this.Movilidad()
this.condicion = c;} + super.MostrarCalculos();}}
public String getEspec() {
return espec; } import java.text.DecimalFormat;
public void setEspec(String e) { public class autocompletar {
this.espec = e; } public static String GenerarCodigo(int
//métodos abstractos indicador, int contador) {
public abstract double SBase(); String formato = "";
public abstract double Bonificacion(); switch (indicador) {
public abstract double Descuentos(); case 1: formato = "ING00000 "; break;
//métodos propios case 2:formato = "ARQ000000"; break;}
public double SBruto() { DecimalFormat df = new
return SBase() + Bonificacion(); } DecimalFormat(formato);
public double SNeto() { return df.format(contador); }}
return SBruto() - Descuentos();}
public String MostrarAtributos() { //LECTURA DE LOS DATOS (BOTON)
return "Código : " + codigo String n = this.jtxtNombres.getText();
+ "\nNombres : " + nombres String a = this.jtxtApellidos.getText();
+ "\nApellidos : " + apellidos String c =
+ "\nCondición : " + condicion this.jcbxCondicion.getSelectedItem().toString();
+ "\nEspecialidad : " + espec; } String e =
public String MostrarCalculos() { this.jcbxEspecialidad.getSelectedItem().toString(
return "\nSueldo Base : " + SBase() ); String ac =
+ "\nBonificación : " + Bonificacion() this.jcbxActividad.getSelectedItem().toString();
+ "\nDescuentos : " + Descuentos() int no =
+ "\nSueldo Bruto : " + SBruto() Integer.parseInt(this.jspnNumObras.getValue().t
+ "\nSueldo Neto : " + SNeto(); }} oString());
//creamos el objeto
public interface constantes { IngenieroCivil ic = new IngenieroCivil(n, a, c, e,
public static final double afp=0.17; ac, no);
public static final double essalud=0.05;} //lo mostramos en el TEXTAREA
this.jtxaResumenIC.setText(ic.MostrarDatos());
public class IngenieroCivil extends constructor
implements constantes {
private String actividad;
private int numobras;
static int contador = 0;
public IngenieroCivil(String n, String a, String c,
String e, String ac, int no) {
super(n, a, c, e);
this.actividad = ac;
this.numobras = no;
contador++;
super.setCodigo(autocompletar.GenerarCodigo(
1, contador)); } //encapsulamiento
public String getActividad() { return actividad; }
public void setActividad(String ac) { this.actividad
= ac; }
public int getNumobras() { return numobras; }
public void setNumobras(int no) {
this.numobras = no;}

También podría gustarte