Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Experimento 3 Laboratorio POO, Ejercicios de Programación Orientada a Objetos

1. En la superclase debe existir un método abstracto obtener sueldo. 2. En todas las clases se debe generar los métodos agregar y obtener por cada atributo. 3. Crear una clase llamada Ejecutora que implemente polimorfismo. 4. En la clase Ejecutora, se debe crear 6 objetos (2 por cada tipo de Trabajador), y presentar sus características.

Tipo: Ejercicios

2020/2021

Subido el 18/07/2021

Geko_lat
Geko_lat 🇪🇨

5

(1)

3 documentos

1 / 17

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Analiza y aplica los conceptos sobre la implementación del paradigma de orientación a
objetos ejemplificando el polimorfismo - AE3
Consideraciones a implementar.-
1. En la superclase debe existir un método abstracto obtener sueldo.
2. En todas las clases se debe generar los métodos agregar y obtener por cada atributo.
3. Crear una clase llamada Ejecutora que implemente polimorfismo.
4. En la clase Ejecutora, se debe crear 6 objetos (2 por cada tipo de Trabajador), y
presentar sus características.
Los objetos deben ser generados con los siguientes valores:
TrabajadorConSeguro - 1:
Atributos:
cedula: 123321
nombre: Andres
edad: 50
apellidos: Villareal
tiempo en la empresa: 10 años
sueldo básico: 340
descuento seguro: 15%
TrabajadorConSeguro - 2:
Atributos:
cedula: 123890
nombre: José
edad: 41
apellidos: Darquea
tiempo en la empresa: 12 años
sueldo básico: 320
descuento seguro: 12%
TrabajadorPorHoras - 1:
Atributos:
cedula: 123567
nombre: María
apellidos: Andrade
edad: 40
tiempo en la empresa: 11 años
valor por hora: $17
numero de horas: 80
TrabajadorPorHoras - 2:
Atributos:
cedula: 123287
nombre: Héctor
edad: 60
apellidos: Bustán
tiempo en la empresa: 20 años
valor por hora: $12
numero de horas: 80
TrabajadorPorProyectos - 1:
Atributos:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Vista previa parcial del texto

¡Descarga Experimento 3 Laboratorio POO y más Ejercicios en PDF de Programación Orientada a Objetos solo en Docsity!

Analiza y aplica los conceptos sobre la implementación del paradigma de orientación a objetos ejemplificando el polimorfismo - AE Consideraciones a implementar.-

  1. En la superclase debe existir un método abstracto obtener sueldo.
  2. En todas las clases se debe generar los métodos agregar y obtener por cada atributo.
  3. Crear una clase llamada Ejecutora que implemente polimorfismo.
  4. En la clase Ejecutora, se debe crear 6 objetos (2 por cada tipo de Trabajador), y presentar sus características. Los objetos deben ser generados con los siguientes valores: TrabajadorConSeguro - 1: Atributos: cedula: 123321 nombre: Andres edad: 50 apellidos: Villareal tiempo en la empresa: 10 años sueldo básico: 340 descuento seguro: 15% TrabajadorConSeguro - 2: Atributos: cedula: 123890 nombre: José edad: 41 apellidos: Darquea tiempo en la empresa: 12 años sueldo básico: 320 descuento seguro: 12% TrabajadorPorHoras - 1: Atributos: cedula: 123567 nombre: María apellidos: Andrade edad: 40 tiempo en la empresa: 11 años valor por hora: $ numero de horas: 80 TrabajadorPorHoras - 2: Atributos: cedula: 123287 nombre: Héctor edad: 60 apellidos: Bustán tiempo en la empresa: 20 años valor por hora: $ numero de horas: 80 TrabajadorPorProyectos - 1: Atributos:

cedula: 123864 nombre: Ana apellidos: Sarango edad: 30 tiempo en la empresa: 9 años numero de proyectos: 3 valor fijo por proyecto: $ TrabajadorPorProyectos - 2: Atributos: cedula: 123246 nombre: Carlos apellidos: Galindez edad: 42 tiempo en la empresa: 12 años numero de proyectos: 4 valor fijo por proyecto: $

Clase TrabajadoConSeguro hereda de Trabajador

  1. Declarar sueldoBasico: Real descuentoSeguro: Real // Métodos establecer y calcular para los datos o atributos de la clase
  2. Método establecerSueldoBasico(sbas: Real) a. sueldoBasico = sbas b. Fin Método establecerSueldoBasico
  3. Método establecerDescuentoSeguro(dseg: Real) a. descuentoSeguro = dseg b. Fin Método establecerDescuentoSeguro // Se implementa el método abstracto declarado en la superclase, // bajo las condiciones propias de la subclase
  4. Método calcularSueldo() : Real a. sueldo = sueldoBasico – (descuentoSeguro * sueldoBasico) b. return sueldo; c. Fin Método calcularSueldo // Métodos obtener para los datos o atributos de la clase
  5. Método obtenerSueldoBasico () : Real a. return sueldoBasico b. Fin Método obtenerSueldoBasico
  6. Método obtenerDescuentoSeguro () : Real a. return descuentoSeguro b. Fin Método obtenerDescuentoSeguro Fin Clase TrabajadorConSeguro Clase TrabajadorPorHoras hereda de Trabajador
  7. Declarar valorHora: Real numeroHoras: Entero // Métodos establecer y calcular para los datos o atributos de la clase
  8. Método establecerValorHora(vhr: Real) a. sueldoBasico = vhr b. Fin Método establecerValorHora
  9. Método establecerNumeroHoras(nhr: Entero) a. numeroHoras = nhr b. Fin Método establecerNumeroHoras // Se implementa el método abstracto declarado en la superclase, // bajo las condiciones propias de la subclase
  10. Método calcularSueldo() a. sueldo = valorHora * numeroHoras b. return sueldo c. Fin Método calcularSueldo // Métodos obtener para los datos o atributos de la clase
  11. Método obtenerValorHora() : Real a. return valorHora b. Fin Método obtenerValorHora
  12. Método obtenerNumeroHoras() : Entero

a. return numeroHoras b. Fin Método obtenerNumeroHoras Fin Clase TrabajadorPorHoras Clase TrabajadorPorProyectos hereda de Trabajador

  1. Declarar valorFijoProyectos: Real numeroProyectos: Entero // Métodos establecer y calcular para los datos o atributos de la clase
  2. Método establecerValorFijoProyectos(vfp: Real) a. valorFijoProyectos = vfp b. Fin Método establecerValorFijoProyectos
  3. Método establecerNumeroProyectos(np: Entero) a. numeroProyectos = np b. Fin Método establecerNumeroProyectos // Se implementa el método abstracto declarado en la superclase, // bajo las condiciones propias de la subclase
  4. Método calcularSueldo() a. sueldo = valorFijoProyectos * numeroProyectos b. return sueldo b. Fin Método calcularSueldo // Métodos obtener para los datos o atributos de la clase
  5. Método obtenerValorFijoProyectos() : Real a. return valorFijoProyectos b. Fin Método obtenerValorFijoProyectos
  6. Método obtenerNumeroProyectos() : Entero a. return numeroProyectos b. Fin Método obtenerNumeroProyectos Fin Clase TrabajadorPorProyectos Clase Ejecutar
  7. Método principal() //Se declaran variables a. Declarar variables TrabajadorConSeguro trabajadorConSeguro1 = new TrabajadorConSeguro() TrabajadorConSeguro trabajadorConSeguro2 = new TrabajadorConSeguro() TrabajadorPorHoras trabajadorPorHoras1 = new TrabajadorPorHoras() TrabajadorPorHoras trabajadorPorHoras2 = new TrabajadorPorHoras() TrabajadorPorProyectos trabajadorPorProyectos1 = new TrabajadorPorProyectos () TrabajadorPorProyectos trabajadorPorProyectos2 = new TrabajadorPorProyectos () b. Asignar valores a los atributos de los objetos //Clase TrabajadorConSeguro trabajadorConSeguro1.establecerCedula(“123321”) trabajadorConSeguro1.establecerNombre(“Andres”) trabajadorConSeguro1.establecerApellidos(“Villareal”)

// se utiliza los métodos obtener del objeto para presentar // los valores que se necesite en pantalla trabajadorConSeguro1.obtenerCedula() trabajadorConSeguro1.obtenerNombre() trabajadorConSeguro1.obtenerApellido() trabajadorConSeguro1.obtenerEdad() trabajadorConSeguro1.obtenerTiempoEmpresa() trabajadorConSeguro1.calcularSueldo() trabajadorConSeguro2.obtenerCedula() trabajadorConSeguro2.obtenerNombre() trabajadorConSeguro2.obtenerApellido() trabajadorConSeguro2.obtenerEdad() trabajadorConSeguro2.obtenerTiempoEmpresa() trabajadorConSeguro2.calcularSueldo() trabajadorPorHoras1.obtenerCedula() trabajadorPorHoras1.obtenerNombre() trabajadorPorHoras1.obtenerApellido() trabajadorPorHoras1.obtenerEdad() trabajadorPorHoras1.obtenerTiempoEmpresa() trabajadorPorHoras1.calcularSueldo() trabajadorPorHoras2.obtenerCedula() trabajadorPorHoras2.obtenerNombre() trabajadorPorHoras2.obtenerApellido() trabajadorPorHoras2.obtenerEdad() trabajadorPorHoras2.obtenerTiempoEmpresa() trabajadorPorHoras2.calcularSueldo() trabajadorPorProyectos1.obtenerCedula() trabajadorPorProyectos1.obtenerNombre() trabajadorPorProyectos1.obtenerApellido() trabajadorPorProyectos1.obtenerEdad() trabajadorPorProyectos1.obtenerTiempoEmpresa() trabajadorPorProyectos1.calcularSueldo() trabajadorPorProyectos2.obtenerCedula() trabajadorPorProyectos2.obtenerNombre() trabajadorPorProyectos2.obtenerApellido() trabajadorPorProyectos2.obtenerEdad() trabajadorPorProyectos2.obtenerTiempoEmpresa() trabajadorPorProyectos2.calcularSueldo() Fin Clase Ejecuta

Diagrama de clase – DIA

} public String obtenerNombre(){ return this.nombre; } public String obtenerApellido(){ return this.apellidos; } public int obtenerEdad(){ return this.edad; } public int obtenerTiempoEmpresa(){ return this.tiempoEmpresa; } } Clase TrabajadorConSeguro package trabajador; public class TrabajadorConSeguro extends Trabajador{ double sueldoBasico; double descuentoSeguro; // Métodos establecer y calcular para los datos o atributos de la clase public void establecerSueldoBasico(double sbas){ this.sueldoBasico = sbas; } public void establecerDescuentoSeguro(double dseg){ this.descuentoSeguro = dseg; } // Se implementa el método abstracto declarado en la superclase, // bajo las condiciones propias de la subclase @Override public double calcularSueldo() { sueldo = sueldoBasico - (descuentoSeguro * sueldoBasico);

return this.sueldo; } // Métodos obtener para los datos o atributos de la clase public double obtenerSueldoBasico(){ return sueldoBasico; } public double obtenerDescuentoSeguro(){ return descuentoSeguro; } } Clase TrabajadorPorHoras package trabajador; public class TrabajadorPorHoras extends Trabajador{ double valorHora; int numeroHoras; // Métodos establecer y calcular para los datos o atributos de la clase public void establecerValorHoras(double vhr){ this.valorHora = vhr; } public void establecerNumeroHoras(int nhr){ this.numeroHoras = nhr; } // Se implementa el método abstracto declarado en la superclase, // bajo las condiciones propias de la subclase @Override public double calcularSueldo() { sueldo = valorHora * numeroHoras; return this.sueldo; } // Métodos obtener para los datos o atributos de la clase

return numeroProyectos; } } Clase Ejecutar package trabajador; public class Ejecutar { public static void main(final String[] args) { //Se declaran variables TrabajadorConSeguro trabajadorConSeguro1 = new TrabajadorConSeguro(); TrabajadorConSeguro trabajadorConSeguro2 = new TrabajadorConSeguro(); TrabajadorPorHoras trabajadorPorHoras1 = new TrabajadorPorHoras(); TrabajadorPorHoras trabajadorPorHoras2 = new TrabajadorPorHoras(); TrabajadorPorProyectos trabajadorPorProyectos1 = new TrabajadorPorProyectos(); TrabajadorPorProyectos trabajadorPorProyectos2 = new TrabajadorPorProyectos(); //Clase TrabajadorConSeguro trabajadorConSeguro1.establecerCedula("123321"); trabajadorConSeguro1.establecerNombre("Andres"); trabajadorConSeguro1.establecerApellido("Villareal"); trabajadorConSeguro1.establecerEdad(50); trabajadorConSeguro1.establecerTiempoEmpresa(10); trabajadorConSeguro1.establecerSueldoBasico(340.00); trabajadorConSeguro1.establecerDescuentoSeguro(0.15); trabajadorConSeguro2.establecerCedula("123890"); trabajadorConSeguro2.establecerNombre("José"); trabajadorConSeguro2.establecerApellido("Darquea"); trabajadorConSeguro2.establecerEdad(41); trabajadorConSeguro2.establecerTiempoEmpresa(12); trabajadorConSeguro2.establecerSueldoBasico(320.00); trabajadorConSeguro2.establecerDescuentoSeguro(0.12); //Clase TrabajadorPorHoras trabajadorPorHoras1.establecerCedula("123567"); trabajadorPorHoras1.establecerNombre("Maria");

trabajadorPorHoras1.establecerApellido("Andrade"); trabajadorPorHoras1.establecerEdad(40); trabajadorPorHoras1.establecerTiempoEmpresa(11); trabajadorPorHoras1.establecerValorHoras(17.00); trabajadorPorHoras1.establecerNumeroHoras(80); trabajadorPorHoras2.establecerCedula("123287"); trabajadorPorHoras2.establecerNombre("Héctor"); trabajadorPorHoras2.establecerApellido("Bustán"); trabajadorPorHoras2.establecerEdad(60); trabajadorPorHoras2.establecerTiempoEmpresa(20); trabajadorPorHoras2. establecerValorHoras(12.00); trabajadorPorHoras2. establecerNumeroHoras(80); //Clase TrabajadorPorProyectos trabajadorPorProyectos1.establecerCedula("123864"); trabajadorPorProyectos1.establecerNombre("Ana"); trabajadorPorProyectos1.establecerApellido("Sarango"); trabajadorPorProyectos1.establecerEdad(30); trabajadorPorProyectos1.establecerTiempoEmpresa(9); trabajadorPorProyectos1.establecerValorFijoProyectos(200.00); trabajadorPorProyectos1.establecerNumeroProyectos(3); trabajadorPorProyectos2.establecerCedula("123246"); trabajadorPorProyectos2.establecerNombre("Carlos"); trabajadorPorProyectos2.establecerApellido("Galindez"); trabajadorPorProyectos2.establecerEdad(42); trabajadorPorProyectos2.establecerTiempoEmpresa(12); trabajadorPorProyectos2.establecerValorFijoProyectos(150.00); trabajadorPorProyectos2.establecerNumeroProyectos(4); // se utiliza los métodos obtener del objeto para presentar // los valores que se necesite en pantalla System.out.println("Cedula: " + trabajadorConSeguro1.obtenerCedula()); System.out.println("Nombre: " + trabajadorConSeguro1.obtenerNombre()); System.out.println("Apellido: " + trabajadorConSeguro1.obtenerApellido()); System.out.println("Edad: " + trabajadorConSeguro1.obtenerEdad() + " años"); System.out.println("Tiempo en la empresa: " + trabajadorConSeguro1.obtenerTiempoEmpresa() + " años"); System.out.println("Sueldo: " + trabajadorConSeguro1.calcularSueldo());

System.out.println("*********************************************"); } }

Prueba de escritorio