Nombre del Alumno: Ignacio Loyola Camacho
Matrícula: 99364
Grupo: K055
Nombre de la materia: Programación Orientada a Objetos
Nombre del docente: Mtra. Patricia Eréndira Benavides Muratalla.
Número y tema de la actividad:
Actividad de aprendizaje 2. Implementación.
Ciudad y fecha:
Acapulco Gro. 11/Noviembre/2019
Creamos las clases necesarias para crear nuestro sistema de nóminas (DEITEL & DEITEL,
2008):
Código fuente de la clase Empleado:
import java.util.Scanner;
public class Empleado {
Scanner entrada = new Scanner (System.in);
String nombre,RFC,cuentaCorriente,NSS,
apellidoPaterno,apellidoMaterno,direccion;
Fecha fechaAlta =new Fecha();
EstadoEmpleado estatus =new EstadoEmpleado();
public Empleado()
{
}
public void crearEmpleado()
{
System.out.println("Ingrese el nombre del empleado");
nombre=entrada.nextLine();
System.out.println("Ingrese el apellido paterno del empleado");
apellidoPaterno=entrada.nextLine();
System.out.println("Ingrese el apellido materno del empleado");
apellidoMaterno=entrada.nextLine();
System.out.println("Ingrese la direccion del empleado");
direccion=entrada.nextLine();
System.out.println("Ingrese el RFC del empleado");
RFC=entrada.nextLine();
System.out.println("Ingrese el NSS del empleado");
NSS=entrada.nextLine();
System.out.println("Ingrese la cuenta corriente del empleado");
cuentaCorriente=entrada.nextLine();
System.out.println("Ingrese la fecha de alta del empleado");
fechaAlta.pedirFecha();
public void imprimirEmpleado()
{
estatus.pedirEstado();
System.out.println("El nombre del empleado es: "+ nombre +" "+
apellidoPaterno+" "+ apellidoMaterno);
System.out.println("La direccion del empleado es: "+ direccion);
System.out.println("el RFC del empleado es: "+ RFC);
System.out.println("el NSS del empleado es: "+ NSS);
System.out.println("La cuenta corriente del empleado es: "+
cuentaCorriente);
System.out.print("La fecha de Alta del trabajador es (DD/MM/YY):
");
fechaAlta.imprimirFecha();
estatus.imprimirEstado();
}
public static void main(String[] args)
{
Empleado empleado1 = new Empleado ();
empleado1.crearEmpleado();
empleado1.imprimirEmpleado();
Código fuente de la clase Fecha:
import java.util.Scanner;
public class Fecha
{
Scanner entrada = new Scanner (System.in);
int anio,mes,dia;
public void pedirFecha()
{
System.out.println("Ingrese el año YY");
anio=entrada.nextInt();
System.out.println("Ingrese el mes en numero(1-12)");
mes=entrada.nextInt();
System.out.println("Ingrese el dia");
dia=entrada.nextInt();
}
public void imprimirFecha()
{
//System.out.println(anio+"/"+mes+"/"+dia);
System.out.println(dia+"/"+mes+"/"+anio);
}
}
Código fuente de la clase Contrato:
import java.util.Scanner;
public class Contrato extends Categoria{
Scanner entrada = new Scanner(System.in);
int noContrato;
String puesto1;
Fecha fechaContrato =new Fecha();
Fecha fechaContrato2 =new Fecha();
Categoria tipoCategoria=new Categoria();
public void crearContrato() {
System.out.println("Ingrese el puesto para el empleado");
puesto1=entrada.nextLine();
System.out.println("Ingresar no de contrato");
noContrato=entrada.nextInt();
System.out.println("Ingrese la fecha de alta del contrato:");
fechaContrato.pedirFecha();
System.out.println("Ingrese la fecha de baja del contrato:");
fechaContrato2.pedirFecha();
tipoCategoria.pedirCategoria();
}
public void imprimirContrato() {
System.out.println("La fecha de alta del contrato es: ");
fechaContrato.imprimirFecha();
System.out.println("La fecha de baja del contrato es: ");
fechaContrato2.imprimirFecha();
System.out.println("El puesto es: "+ puesto1);
tipoCategoria.imprimirCategoria();
}
public static void main(String[] args) {
Contrato tipo = new Contrato();
tipo.crearContrato();
tipo.imprimirContrato();
}
}
Código fuente de la clase Complemento:
import java.util.Scanner;
public class Complemento {
Scanner entrada = new Scanner(System.in);
String tipoComplemento;
double bono;
public void crearComplemento() {
System.out.println("Ingrese el tipo de complemento");
tipoComplemento=entrada.nextLine();
System.out.println("Ingrese la cantidad a pagar por el complemento");
bono=entrada.nextDouble();
}
public void imprimirComplemento() {
System.out.println("El complemento es: "+tipoComplemento);
System.out.println("La cantidad a pagar por el complemento es: "+bono);
}
Codigo fuente de la clase Deduccion:
import java.util.Scanner;
public class Deduccion {
Scanner entrada= new Scanner(System.in);
String tipoDeduccion;
double descuento;
public void pedirDeduccion() {
System.out.println("Ingrese el tipo de deduccion: ");
tipoDeduccion=entrada.nextLine();
System.out.println("Ingrese la cantidad a descontar");
descuento=entrada.nextDouble();
}
public void imprimirDeduccion() {
System.out.println("Tipo de deduccion: "+ tipoDeduccion);
System.out.println("La cantidad a descontar es: "+ descuento);
}
}
Codigo fuente de la clase SueldoBase:
import java.util.Scanner;
public class SueldoBase extends Contrato{
Scanner entrada= new Scanner(System.in);
Categoria sueldo=new Categoria();
Complemento suma =new Complemento();
Deduccion resta =new Deduccion();
double totalBase;
public void pedirSaldo()
{
sueldo.pedirCategoria();
suma.crearComplemento();
resta.pedirDeduccion();
}
public void calcularSueldo()
totalBase=(sueldo.sueldoBase + suma.bono)-resta.descuento;
}
public void imprimirSueldo() {
System.out.println("Sueldo base: "+ sueldo.sueldoBase);
System.out.println("cantidad complemento: "+ suma.bono);
System.out.println("cantidad a deducir: "+ resta.descuento);
System.out.println("Sueldo total es: "+ totalBase);
}
public static void main(String[] args)
{
SueldoBase base1=new SueldoBase();
base1.pedirSaldo();
base1.calcularSueldo();
base1.imprimirSueldo();
}
}
Código fuente de la clase EstadoEmpleado:
import java.util.Scanner;
public class EstadoEmpleado {
Scanner entrada = new Scanner (System.in);
String [] estado = new String[2];
int dato=0;
Fecha fechaBaja =new Fecha();
public void pedirEstado()
{
System.out.println("Ingrese CERO si el empleado esta activo");
System.out.println("O Ingrese 1 si el empleado fue dado de baja");
dato= entrada.nextInt();
estado[0]="Activo";
estado[1]="Inactivo";
if(dato==1)
{
System.out.print("La fecha de baja del empleado es: ");
fechaBaja.pedirFecha();
}
}
public void imprimirEstado() {
System.out.println("El empleado esta:" + estado[dato]);
System.out.print("La fecha de baja del empleado es: (DD/MM/YY)");
fechaBaja.imprimirFecha();
}
public static void main(String[] args) {
EstadoEmpleado estado = new EstadoEmpleado();
estado.pedirEstado();
estado.imprimirEstado();
}
}
Código fuente de la clase Categoria:
import java.util.Scanner;
public class Categoria {
Scanner entrada= new Scanner(System.in);
String nombreCategoria;
double sueldoBase;
public void pedirCategoria()
{
System.out.println("Ingresar el nombre de la categoria");
nombreCategoria=entrada.nextLine();
System.out.println("Ingresar el sueldo base de la categoria");
sueldoBase=entrada.nextDouble();
}
public void imprimirCategoria() {
System.out.println("La categoria es: "+nombreCategoria);
System.out.println("El sueldo base es: "+sueldoBase);
}
Codigo fuente de la clase Nomina:
import java.util.Scanner;
public class Nomina extends SueldoBase{
Scanner entrada= new Scanner(System.in);
Empleado empleado1=new Empleado();
Contrato contrato1=new Contrato();
Categoria categoria1=new Categoria();
Complemento complemento1=new Complemento();
Deduccion deduccion1=new Deduccion();
SueldoBase sueldoBase1=new SueldoBase();
Fecha fechaInicial=new Fecha();
Fecha fechaFinal=new Fecha();
public void crearNomina()
{
System.out.println("Ingrese Fecha Inicial: ");
fechaInicial.pedirFecha();
System.out.println("Ingrese Fecha Final: ");
fechaFinal.pedirFecha();
}
public void llamandoMetodos()
{
empleado1.crearEmpleado();
//contrato1.crearContrato();
sueldoBase1.pedirSaldo();
sueldoBase1.calcularSueldo();
}
public void imprimirNomina()
{
System.out.println("El nombre del empleado es: "+
empleado1.apellidoPaterno +" "+ empleado1.apellidoMaterno+" "+
empleado1.nombre);
System.out.println("Fecha Inicial: ");
fechaInicial.imprimirFecha();
System.out.println("Fecha Final: ");
fechaFinal.imprimirFecha();
sueldoBase1.calcularSueldo();
sueldoBase1.imprimirSueldo();
}
public static void main(String[] args)
{
Nomina superNomina=new Nomina();
superNomina.llamandoMetodos();
superNomina.crearNomina();
superNomina.imprimirNomina();
}
}
Resultado:
Como se pudo observar en la imagen de arriba, el programa compila correctamente y nos
da una salida en pantalla según los atributos y métodos que están en la clase Nomina.
Referencias
DEITEL, P., & DEITEL, H. (2008). CÓMO PROGRAMAR EN JAVA. Séptima edición. México: PEARS ON
EDUCACIÓN.