Implementación de Programación Orientada a Objetos en Java: Casos Prácticos de Deportes e Inmuebles
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 3,88 KB
Sección 1: Gestión de Porteros y Simulación Deportiva
1. Sobreescritura del método imprimir() para añadir bonus por penaltis
En este apartado, se procede a reescribir el método imprimir() para los porteros, añadiendo un valor de 10 por cada penalti parado.
@Override
public void imprimir() {
super.imprimir();
double bonus = penaltisParados * 10;
System.out.println("Bonus: " + bonus);
}2. Sobreescritura del método imprimir() para añadir recargo por goles recibidos
Se ajusta el método imprimir() para reflejar un recargo de 5 por cada gol recibido.
@Override
public void imprimir() {
super.imprimir();
double recargo = golesRecibidos * 5;
System.out.println("Recargo: " + recargo);
}3. Cálculo de puntuación para Porteros
La lógica para calcular la puntuación se define como: penaltis parados x 20 - goles recibidos x 5.
@Override
public void imprimir() {
super.imprimir();
double puntuacion = (penaltisParados * 20) - (golesRecibidos * 5);
System.out.println("Puntuacion: " + puntuacion);
}4. Fase de Testeo y Clasificación
Para validar el sistema, se deben seguir los siguientes pasos:
- Crear dos equipos: Cada uno con tres jugadores (incluyendo un portero).
- Almacenamiento: Guardar todos los jugadores en una lista global.
- Simulación de tres partidos:
- Calcular la puntuación individual de cada jugador.
- Calcular la puntuación total de cada equipo.
- Mostrar la clasificación individual y por equipos.
- Finalización del proceso:
- Ordenar a los jugadores por su puntuación total y mostrar la clasificación final.
- Ordenar a los equipos por su puntuación total y mostrar la clasificación final.
Sección 2: Sistema de Gestión de Inmuebles y Comisiones
1. Definición del nuevo atributo en la clase abstracta
Cada inmueble comienza con una comisión inicial de valor 0.
public abstract class Inmueble implements Impuesto {
protected double comision = 0d;
}2. Implementación del método aumentarComision()
Este método permite incrementar el valor de la comisión actual.
public String aumentarComision(double cuanto) {
comision += cuanto;
return "Comision aumentada";
}3. Implementación del método disminuirComision() con validación
Se incluye una lógica de control para evitar que la comisión sea negativa.
public String disminuirComision(double cuanto) {
if (comision - cuanto < 0) {
return "Error";
}
comision -= cuanto;
return "Correcto";
}4. Creación de la lista de objetos de la jerarquía
Se inicializa una lista con tres tipos diferentes de inmuebles:
List<Inmueble> lista = new ArrayList<>();
lista.add(new CasaRural(...));
lista.add(new ApartamentoFamiliar(...));
lista.add(new Oficina(...));5. Pruebas de aumentos válidos individuales
Se ejecutan incrementos de comisión específicos para cada elemento de la lista:
- Índice 0: Aumento de 1000.
- Índice 1: Aumento de 2000.
- Índice 2: Aumento de 3000.
lista.get(0).aumentarComision(1000);
lista.get(1).aumentarComision(2000);
lista.get(2).aumentarComision(3000);6. Visualización de la cuantía total
Finalmente, se recorre la lista para calcular y mostrar la suma total de las comisiones.
double total = 0;
for (Inmueble i : lista) {
total += i.getComision();
}
System.out.println("Total: " + total);