Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Clase EmpleadoPorComision3
- // Fig. 9.10: EmpleadoPorComision.java
- // EmpleadoPorComision usa los métodos para manipular sus
- // variables de instancia private.
- package Capitulo9; // Linea agregada para identificar esta clase y evitar problemas de duplicidad
- public class EmpleadoPorComision3
- {
- private String primerNombre;
- private String apellidoPaterno;
- private String numeroSeguroSocial;
- private double ventasBrutas; // ventas totales por semana
- private double tarifaComision; // porcentaje de comisión
- // constructor con cinco argumentos
- public EmpleadoPorComision3( String nombre, String apellido, String nss,
- double ventas, double tarifa )
- {
- // la llamada implícita al constructor de Object ocurre aquí
- primerNombre = nombre;
- apellidoPaterno = apellido;
- numeroSeguroSocial = nss;
- establecerVentasBrutas( ventas ); // valida y almacena las ventas brutas
- establecerTarifaComision( tarifa ); // valida y almacena la tarifa de comisión
- } // fin del constructor de EmpleadoPorComision con cinco argumentos
- // establece el primer nombre
- public void establecerPrimerNombre( String nombre )
- {
- primerNombre = nombre; // debería validar
- } // fin del método establecerPrimerNombre
- // devuelve el primer nombre
- public String obtenerPrimerNombre()
- {
- return primerNombre;
- } // fin del método obtenerPrimerNombre
- // establece el apellido paterno
- public void establecerApellidoPaterno( String apellido )
- {
- apellidoPaterno = apellido; // debería validar
- } // fin del método establecerApellidoPaterno
- // devuelve el apellido paterno
- public String obtenerApellidoPaterno()
- {
- return apellidoPaterno;
- } // fin del método obtenerApellidoPaterno
- // establece el número de seguro social
- public void establecerNumeroSeguroSocial( String nss )
- {
- numeroSeguroSocial = nss; // debería validar
- } // fin del método establecerNumeroSeguroSocial
- // devuelve el número de seguro social
- public String obtenerNumeroSeguroSocial()
- {
- return numeroSeguroSocial;
- } // fin del método obtenerNumeroSeguroSocial
- // establece el monto de ventas brutas
- public void establecerVentasBrutas( double ventas )
- {
- if ( ventas >= 0.0 )
- ventasBrutas = ventas;
- else
- throw new IllegalArgumentException(
- "Las ventas brutas deben ser >= 0.0" );
- } // fin del método establecerVentasBrutas
- // devuelve el monto de ventas brutas
- public double obtenerVentasBrutas()
- {
- return ventasBrutas;
- } // fin del método obtenerVentasBrutas
- // establece la tarifa de comisión
- public void establecerTarifaComision( double tarifa )
- {
- if (tarifa > 0.0 && tarifa < 1.0 )
- tarifaComision = tarifa;
- else
- throw new IllegalArgumentException(
- "La tarifa de comisión debe ser > 0.0 y < 1.0" );
- } // fin del método establecerTarifaComision
- // devuelve la tarifa de comisión
- public double obtenerTarifaComision()
- {
- return tarifaComision;
- } // fin del método obtenerTarifaComision
- // calcula los ingresos
- public double ingresos()
- {
- return obtenerTarifaComision() * obtenerVentasBrutas();
- } // fin del método ingresos
- // devuelve representación String del objeto EmpleadoPorComision
- @Override // indica que este método sobrescribe el método de la superclase
- public String toString()
- {
- return String.format( "%s: %s %s\n%s: %s\n%s: %.2f\n%s: %.2f",
- "empleado por comision", obtenerPrimerNombre(), obtenerApellidoPaterno(),
- "numero de seguro social", obtenerNumeroSeguroSocial(),
- "ventas brutas", obtenerVentasBrutas(),
- "tarifa de comision", obtenerTarifaComision() );
- } // fin del método toString
- } // fin de la clase EmpleadoPorComision
- // Clase EmpleadoBaseMasComision3
- // Fig. 9.11: EmpleadoBaseMasComision.java
- // La clase EmpleadoBaseMasComision hereda de EmpleadoPorComision y
- // accede a los datos private de la superclase a través de los
- // métodos public heredados.
- package Capitulo9; // Linea agregada para identificar esta clase y evitar problemas de duplicidad
- public class EmpleadoBaseMasComision3 extends EmpleadoPorComision3
- {
- private double salarioBase; // salario base por semana
- // constructor con seis argumentos
- public EmpleadoBaseMasComision3( String nombre, String apellido,
- String nss, double ventas, double tarifa, double salario )
- {
- super( nombre, apellido, nss, ventas, tarifa );
- establecerSalarioBase( salario ); // valida y almacena el salario base
- } // fin del constructor de EmpleadoBaseMasComision con seis argumentos
- // establece el salario base
- public void establecerSalarioBase( double salario )
- {
- if ( salario >= 0.0 )
- salarioBase = salario;
- else
- throw new IllegalArgumentException(
- "El salario base debe ser >= 0.0" );
- } // fin del método establecerSalarioBase
- // devuelve el salario base
- public double obtenerSalarioBase()
- {
- return salarioBase;
- } // fin del método obtenerSalarioBase
- // calcula los ingresos
- @Override // indica que este método sobrescribe el método de la superclase
- public double ingresos()
- {
- return obtenerSalarioBase() + super.ingresos();
- } // fin del método ingresos
- // devuelve representación String de EmpleadoBaseMasComision
- @Override // indica que este método sobrescribe el método de la superclase
- public String toString()
- {
- return String.format( "%s %s\n%s: %.2f", "con sueldo base",
- super.toString(), "sueldo base", obtenerSalarioBase() );
- } // fin del método toString
- } // fin de la clase EmpleadoBaseMasComision
- // Clase PruebaEmpleadoBaseMasComision3
- // PruebaEmpleadoBaseMasComision.java
- // Programa de prueba de EmpleadoBaseMasComision.
- package Capitulo9; // Linea agregada para identificar esta clase y evitar problemas de duplicidad
- public class PruebaEmpleadoBaseMasComision3
- {
- public static void main( String[] args )
- {
- // crea instancia de objeto EmpleadoBaseMasComision3
- EmpleadoBaseMasComision3 empleado =
- new EmpleadoBaseMasComision3(
- "Bob", "Lewis", "333-33-3333", 5000, .04, 300 );
- // obtiene datos del empleado por comisión con sueldo base
- System.out.println(
- "Informacion del empleado obtenida por metodos establecer: \n" );
- System.out.printf( "%s %s\n", "El primer nombre es",
- empleado.obtenerPrimerNombre() );
- System.out.printf( "%s %s\n", "El apellido es",
- empleado.obtenerApellidoPaterno() );
- System.out.printf( "%s %s\n", "El numero de seguro social es",
- empleado.obtenerNumeroSeguroSocial() );
- System.out.printf( "%s %.2f\n", "Las ventas brutas son",
- empleado.obtenerVentasBrutas() );
- System.out.printf( "%s %.2f\n", "La tarifa de comision es",
- empleado.obtenerTarifaComision() );
- System.out.printf( "%s %.2f\n", "El salario base es",
- empleado.obtenerSalarioBase() );
- empleado.establecerSalarioBase( 1000 ); // establece el salario base
- System.out.printf( "\n%s:\n\n%s\n",
- "Informacion actualizada del empleado, obtenida por toString",
- empleado.toString() );
- } // fin de main
- } // fin de la clase PruebaEmpleadoBaseMasComision3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement