Examen Teórico. Convocatoria de Febrero de 2016

Documentos relacionados
Examen Teórico. Convocatoria de Febrero de 2015

Examen Teórico Convocatoria de Junio de 2012

Examen Teórico. Convocatoria de Julio de 2015

PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:

Examen Teórico. Convocatoria de Febrero de 2018

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

Programación orientada a objetos

Clases abstractas e interfaces en Java

Definición. Mónica E. García García Feb 07

Clases y herencia. FJP Unidad 8. Diseño de clases

Diseño de tipos Igualdad, representación, código, copia y relación de orden

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

Programación Orientada a Objetos Curso 2010/2011

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

2. Tratamiento de objetos con JAVA

Polimorfismo Java y Servicios Web I Master en Ingeniería Matemática

Tema 3: Herencia en C# Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

HOJA DE EJERCICIOS 3 HERENCIA ENTRE CLASES Y POLIMORFISMO DE MÉTODOS

Derechos de Acceso: COMPOSICION

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

Programación Tema 7: Relaciones entre clases. Programación DIT-UPM

Java en 2 horas. Rodrigo Santamaría

Estructuras de control selectivas

POO: Clases y objetos

PARTE TEÓRICA - TEST [2,5 PUNTOS]:

PROGRAMACIÓN GENÉRICA

A3F. Polimorfismo. Carlos Fontela

Herencia y Polimorfismo

Herencia: relación es un

Interfaces. Amparo López Gaona. Septiembre de Amparo López Gaona () Interfaces Septiembre de / 1

A3F. Polimorfismo. Carlos Fontela

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Concurso: Cuánto sabes de JAVA?

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

18. Interfaces Declaración de una interfaz

Tema 1. Herencia y Polimorfismo

Federico Peinado

Construcciones del Lenguaje Java

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA

Soluciones Ejercicios Tema 1

Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones

HOJA DE EJERCICIOS 4 INTERFACES Y CLASES ABSTRACTAS EN JAVA Y C++

Prueba N o 1. Programación II

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE ITERABLE DEL API DE JAVA Y MÉTODO ITERATOR. RECORRER COLECCIONES DE OBJETOS (CU00915C)

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Diseño y Programación Orientados a Objetos 29 de Abril de Primer Certamen

16. Herencia Definición de herencia. 168 A. García-Beltrán y J.M. Arranz

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

INTRODUCCION A LA PROGRAMACION EN JAVA

Excepciones. Excepciones

Java en 2 horas. Rodrigo Santamaría

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Tema 2. Técnicas básicas de POO. Técnicas de Programación - Curso 2007/08

Programación II Práctica 04: Objetos

1º Certamen ILI-253 Pauta de Corrección Lenguajes de Programación Juan Pablo Menichetti Jorge Mujica 29 de Abril del 2004

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos

Examen de Estructuras de Datos y Algoritmos (Ingeniería Informática)

6. Herencia. Clases abstractas. Genericidad. Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad

Curso de Java POO: Programación orientada a objetos

Curso de Java POO: Programación orientada a objetos

Colas Implementación con gestión estática de memoria

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos

Tema 6 Java 8. Programación Orientada a Objetos Curso 2015/2016

El concepto de Java Package Encapsulation

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Programación Orientada a Objetos Curso 2015/2016. Ejercicios sobre colecciones y Java 8

Test : Conteste exclusivamente en una HOJA DE LECTURA ÓPTICA, no olvidando marcar que su tipo de examen es A.

Tema 4- Representación Enlazada

FACULTAD DE INGENIERÍA

Examen de Programación II (Ingeniería Informática)

c) Explicar qué es un BreakPoint en Netbeans y para qué sirve. 0,5 punto

Programación Dirigida a Objetos. MATERIAL COMPLEMENTARIO Tema 5.- Herencia

2º Parcial. Bloque I. Preguntas cortas LPOO (C++, C#, Java) Nombre: DNI: Titulación:

Java Interfaces y el concepto de simplicidad

Guía práctica de estudio 08: Polimorfismo

b) Basta con definir una variable de tipo Alumno (a) y otra de tipo CursoExtraescolar (curso) antes de hacer la llamada al método mediante el

Interfaces y Clases Internas

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)

Recogiendo la basura. Herencia de interfaz Transversal Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

EXAMEN PARA ALUMNOS PRESENTADOS A LA ASIGNATURA COMPLETA

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE COMPARABLE Y MÉTODO COMPARETO DE JAVA. COMPARAR OBJETOS (CU00913C)

Herencia en Java. Agustín J. González Diseño y Programación Orientados a Objetos

PARTE TEÓRICA - TEST [2,5 PUNTOS]:

// Método Comunicarse, sera implementado por las clases concretas que hereden de la clase //animal

UNIDAD 4 IMPLEMENTACION DE PROPIEDADES DE LOS OBJETOS JAVA

Fundamentos de Programación

Herencia. Clases abstractas. Genericidad. Clase Object Polimorfismo y ligadura dinámica super Herencia y creación Clases abstractas Genericidad

Soluciones Ejercicios Tema 3

Transcripción:

Examen Teórico Convocatoria de Febrero de 2016 Nombre: DNI: Grupo: 1. Responde a las siguientes cuestiones: a) Un programador Java empaqueta el código de un proyecto en el fichero videojuego.jar cuya clase principal es juego.principal. Explica qué errores está cometiendo para la ejecución del programa desde la línea de comandos: > java -jar videojuego.jar Principal.class b) Qué significa utilizar el modificador static en la definición de un atributo? Ilustra la explicación con un ejemplo.

2. Dado el siguiente código: public class Programa { public static void main(string[] args) { Object valor = 3; String texto = (String) valor; System.out.println(args[0]); a) Explica por qué el código anterior compila correctamente y sin embargo siempre lanza una excepción en tiempo de ejecución. b) La línea que se encarga de la impresión del primer argumento del programa no cumple las recomendaciones del Diseño por Contrato. Explica por qué.

3. Responde a las siguientes cuestiones: a) Supongamos que queremos redefinir los métodos de la clase Object. Hay algún método que no se pueda redefinir? De aquellos métodos que sí podamos redefinir, a cuáles se les puede cambiar la signatura de la declaración (la cabecera)? Justifica las respuestas. b) El compilador indica que el código siguiente tiene un error de compilación. Indica cuál es el error y explica qué solución tiene. public class A implements Cloneable { protected final int at1;

4. Dado el siguiente código, contesta de forma razonada a las siguientes preguntas: public class Locuras { void metodoloco() { if (Math.random() >= 0.5) throw new ExcepcionLoca(); System.out.println("Método loco"); a) Existe algún error de compilación en el código anterior? En el caso de que exista indica los arreglos que se deben hacer para que compile correctamente. b) Implementa una redefinición de metodoloco en una subclase, que invoque a la versión del padre y que asegure que siempre muestre el mensaje "Método loco".

5. Dado el siguiente código: public static LinkedList<String> ejemplo(linkedlist<string> lista) { /* lista = new LinkedList<String>(); */ lista.clear(); return lista; public static void main(string[] args) { LinkedList<String> lista1 = new LinkedList<String>(); lista1.add("elemento"); LinkedList<String> lista2 = ejemplo(lista1); System.out.println(lista1 == lista2); a) Explica cómo se realiza el paso de parámetros en el método ejemplo. Cuál es el resultado del programa? Justifica la respuesta. b) Si quitamos el comentario de la primera línea del método ejemplo. Cuál es el resultado del programa? Justifica la respuesta.

6. Dado el siguiente código: public interface Registrable { int getnumregistro(); public void registrar(registrable registrable) { int codigo = registrable.getnumregistro(); //... a) Podemos construir un array del tipo de la interfaz? Justifica la respuesta. En caso afirmativo, indica qué valores tendrían las casillas del array tras la construcción. b) Dado que Registrable es una interfaz, qué código se ejecuta en la llamada registrable.getnumregistro()?

7. Contesta de forma razonada a las siguientes preguntas: a) Para qué se utiliza la declaración import static? b) En una clase abstracta los constructores pueden declararse con cualquier visibilidad, como en una clase cualquiera. Sin embargo, a nivel conceptual, al ser una clase abstracta uno de los cuatro niveles de visibilidad tiene más sentido que los demás. Cuál de ellos? Justifica la respuesta.

8. Responde a las siguientes cuestiones: a) Cuando trabajamos con genericidad podemos encontrar las declaraciones: <T extends Elemento> <? extends Elemento> Qué diferencias hay entre ellas? b) Dado que todos los objetos disponen del método getclass(), qué utilidad tiene el operador instanceof?

9. Colecciones. Implementa un método genérico que reciba como parámetro una lista y elimine los elementos situados en índice par. Requisitos: - Se establece como requisito utilizar un iterador explícito para el procesamiento de la lista. - El método debe retornar un mapa que asocie los elementos que quedan en la lista (los que no son eliminados) con el índice de la primera aparición en la lista. Por ejemplo, dada la lista [7, 2, 1, 3, 5, 2, 4] retornaría el mapa formado por las entradas: [<2, 0>, <3, 1>]

10. Java 8. a) Implementa el tipo de datos Tester para que la instrucción compile correctamente. Tester tester = (s, i) -> s[i] == 0; b) Utilizando el modelo de procesamiento basado en streams, y supuesta la variable LinkedList<Integer> numeros, ordena los números de mayor a menor, y crea una lista que contenga los cuadrados de los números que sean impares.