C6 - Programación avanzada

per Victor Carceler darrera modificació 2020-04-06T13:06:42+02:00
Recuperación de JAVA, curso 2009/2010

Parte teórica

Durante la realización de la parte teórica no es posible utilizar ningún tipo de material complementario.


  1. ¿Qué mecanismo utiliza Java para garantizar que las aplicaciones compiladas se pueden utilizar en diferentes plataformas? ¿Qué ventajas e inconvenientes puede tener?
  2. ¿Qué es un método sobrecargado? escriba un ejemplo. ¿Y un método sobreescrito? escriba un ejemplo.
  3. Suponga que desde un constructor:
  • quiere llamar a otro constructor de esta misma clase, ¿qué debe hacer?
  • quiere llamar a un constructor de la superclase, ¿qué debe hacer?
  • ¿Cómo se llama la herramienta utilizada para compilar? ¿cómo se invoca la ejecución de un programa?
  • En la programación orientada a objetos, a qué se refieren los siguientes conceptos:
    • Herencia
    • Polimorfismo
    • Encapsulación
  • ¿Qué es un método abstracto? ¿cómo se denomina en Java 'una clase' cuyos métodos son todos abstractos?
  • ¿Qué mecanismo se utiliza para reservar memoria de manera dinámica? ¿y para liberarla?
  • ¿Qué es un paquete, qué función tiene?

  • Parte práctica

    Durante la realización de la parte práctica es posible consultar la web java.sun.com para consultar la API deJavaSE 6 o el tutorial sobre colecciones.

    El ejercicio 1 puntúa un máximo de 5 puntos, el ejercicio 2 un máximo de 2 puntos y el ejercicio 3 un máximo de 3 puntos.


    1. Defina en MySQL la BBDD 'agendadb' de manera que el usuario 'usuario' identificado por la contraseña 'secreto' tenga control total. Defina en su interior la tabla contacto, de manera que cuente: con un id numérico autoincremental no nulo que se utilizará como clave primaria, con un nombre de longitud variable no nulo y con un campo correo de longitud variable que aceptará valores nulos. Escriba el programa ejecutable en la línea de comandos Agenda de manera que permita al usuario las siguientes opciones:
    • Listar los contactos incluidos en la BBDD
    • Añadir/eliminar registros (para eliminar un registro se proporcionará su id)
  • Escriba la clase FiguraGeométrica de manera que cuente con un método toString que retorne: "FiguraGeométrica". Escriba las clases Polígono y Círculo de manera que extiendan a FiguraGeométrica y cuenten con un método toString que retorne lo mismo que el toString de la clase padre añadiendo ": Polígono" o ": Círculo" respectivamente. Escriba la clase Punto de manera que cuente con las propiedades x, y de tipo entero, los métodos get/set necesarios para fijarlas y un método toString que retorne la cadena "Punto(<x>, <y>)". Escriba la clase Segmento de manera que cuente con las propiedades de tipo Punto p1 y p2, los métodos get/set correspondientes y un método toString() que retorne "Segmento( <toString() de p1>, <toString() de p2>)".
  • Haga que la clase Polígono cuente con una propiedad privada llamada segmentos que sea una colección de segmentos. Haga lo necesario para que la clase Polígono:
    • Permita añadir un nuevo segmento
    • Permita borrar un determinado segmento (especificando su índice en la colección)
    • Tenga un toString(), que además de la información que ya muestra añada: el número de segmentos del polígono, las características de cada uno de ellos.