Ultimo examen POO Soluciones PDF

Title Ultimo examen POO Soluciones
Author Borja Sanchez
Course Programacion Orientada a Objetos
Institution Universidad Politécnica de Madrid
Pages 4
File Size 113.9 KB
File Type PDF
Total Downloads 46
Total Views 138

Summary

Download Ultimo examen POO Soluciones PDF


Description

EXAMEN DE POO. PARTE DE PROGRAMACIÓN Nombre:_______________

Apellidos: __________________________

Grupo: ______

1. (0.3 puntos) Escribir el código para un constructor de la clase Persona. Este constructor tendrá un solo parámetro dni de tipo String. Suponemos la existencia de un atributo (propiedad) de la clase: String dni. Si el dni proporcionado tiene una longitud diferente a 9 caracteres, se levantara la excepción DNIException, que supondremos que ya está definida y admite el constructor vacío. La excepción DNIException no se tratará en el constructor de Persona: únicamente se pasará a quien lo utilice. Escribir solamente el código del constructor pedido. Solución: public Persona(String dni) throws DNIException { if (dni.length()!=9) throw new DNIException(); else this.dni = dni; } 2.

(0.3 puntos) a) Escribir el código más sencillo posible para crear la excepción DNIException del apartado anterior. b) Escribir un método main en el que se instancie una Persona y se imprima, por consola, el texto “Tamaño incorrecto de DNI”, cuando ocurra la excepción DNIException.

Solución: a) public class DNIException extends Exception {} b) public static void main(String[] a) { try { Persona ana = new Persona(“50824F”); } catch (DNIException e) { System.out.println(“Tamaño incorrecto de DNI”); } } 3. (0.6 puntos) Deseamos hallar el impuesto total que se recauda por los vehículos de una comunidad (en nuestro ejemplo solo definiremos 3 vehículos). Los vehículos se almacenarán en un array y el impuesto total se calculará utilizando polimorfismo. Usaremos una clase abstracta Vehiculo y dos clases derivadas: Electrico y Combustion. También una clase PruebaPolimorfismo para calcular el impuesto total acumulado. El método polimórfico será double impuesto(). Los vehículos eléctricos tributan un 9% de su precio, mientras que los vehículos de combustión tributan el triple de su cilindrada. Rellenar las plantillas de código que se proporcionan a continuación, siguiendo las indicaciones que aparecen en negrita. public abstract class Vehiculo { ... // escribir aquí el método impuesto() public abstract double impuesto(); } // fin de Vehiculo // completar la definición de la clase public class Electrico extends Vehiculo { private double precio; public Electrico (double precio) { this.precio = precio; } // escribir aquí el método impuesto() public double impuesto() { return precio*9d/100d; }

// completar la definición de la clase public class Combustion extends Vehiculo private double cilindrada; public Combustion (double cilindrada) { this.cilindrada = cilindrada; } // escribir aquí el método impuesto() public double impuesto() { return cilindrada*3d; }

} // fin de Electrico

} // fin de Combustionpublic class PruebaPolimorfismo {

{

public static void main(String[] a) { /* escribir aquí la declaración e instanciación de un array de 3 vehículos que, posteriormente, pueda ser recorrido llamando al método polimórfico impusto(). */ Vehiculo vehiculos = new Vehiculo[3]; /* escribir aquí 2 instancias de vehículos eléctricos y una de vehículo de combustión, y asignarlas a las posiciones del array de vehículos. */ vehiculos[0] = new Electrico(30000d); vehiculos[1] = new Electrico(45000d); vehiculos[2] = new Combustion(1800d); double recaudacion = 0d; for (int =0;i...


Similar Free PDFs