Sunteți pe pagina 1din 2

18/May/2020 EXÁMEN DE LA MATERIA: PROGRAMACIÓN ORIENTADA A OBJETOS

NUM.CONT:________________NOMBRE___________________________________________________ Hora: ______

Tema 3 Calif.: _____________________________________________

1. Use los paréntesis para relacionar las declaraciones de la columna izquierda con la derecha. (10
puntos)
( ) Clase que utiliza la estructura o comportamiento de otra clase. 1. múltiple
( ) Problema que se presenta en la herencia múltiple. 2. herencia
( ) Relación donde una clase sólo hereda de otra. 3. interfaz
( ) Se denomina de esta manera a la relación de herencia. 4. composición
( ) Se utiliza para indicar herencia. 5. base
( ) Relación entre clases, donde una clase comparte la estructura de otra clase. 5. es un
( ) Relación entre clases conocida como: es parte de. 7. diamante
( ) Relación donde una clase hereda de varias clases. 8. simple
( ) Se utiliza en Java para implementar la herencia múltiple. 9. derivada
( ) Clase que comparte su estructura o comportamiento. 10. extends

2. Conteste (F)also o (V)erdadero en las siguientes aseveraciones. (5


puntos)
( ) Java permite implementar tanto la herencia simple como la herencia múltiple.
( ) Se puede tener acceso a los miembros privados de la clase base, desde la clase derivada.
( ) La superclase es la clase derivada de la clase base.
( ) En la clase derivada se puede volver a definir el mismo método que tenga la clase base.
( ) En la clase derivada no se puede volver a definir un atributo que tenga el mismo identificador que en la clase base.

3. Complete los siguientes espacios en blanco: (12


puntos)
a. En el constructor de la clase derivada, para invocar al constructor de la clase ___________ se utiliza ___________.
b. La regla de __________________ indica que en la ejecución el compilador buscará primero en la clase
________________ el método que se está invocando.
c. En la clase derivada, para acceder al atributo de la clase ___________ con el mismo nombre se utiliza
___________.

4. Conteste brevemente ¿por qué no se pueden heredar los atributos static a las clases derivadas? (5
puntos)

5. Dada la siguiente clase Fecha, redefinir el método asignarFecha( ) en la clase FechaTerminacion. (3


puntos)
public class Fecha { public class FechaTerminacion extends Fecha{
private int dd, mm, aa; public FechaTerminacion (int d, int m, int a ) {
public Fecha ( ) { } super (d, m, a );
public final void asignarFecha ( int dd, int mm, int aa ) { }
this.dd = dd; this.mm = mm; this.aa = aa; …..
} }
…..
}

En los siguientes problemas, implementar SÓLO las clases que se indican, no es necesario que hagan un programa
completo:
6. Escribir una clase llamada Multimedia para almacenar información de los objetos de tipo multimedia (películas, discos,
mp3, mp4…). Esta clase contiene como atributos: título (de tipo String), autor (de tipo String), formato (de tipo
Formato) y duración (de tipo int). El formato puede ser uno de los siguientes: wav, mp3, midi, avi, mov, mpg, cdAudio
y dvd, para lo cual se puede definir un enumerado de la siguiente manera:
public enum Formato {
wav, mp3, midi, avi, mov, mpg, cdAudio, dvd
}

El valor de todos los atributos se pasa por parámetro en el momento de crear el objeto en el constructor. Esta clase
tiene además, métodos para devolver cada uno de los atributos (gets), métodos para asignar valor a cada atributo
(sets) y un método toString que devuelve la información del objeto. Por último, un método equals que recibe un objeto
de tipo Multimedia y devuelve true en caso de que el título y el autor sean iguales y false en caso contrario.
(5 puntos)

7. Escribe una clase llamada ListaMultimedia para almacenar objetos de tipo Multimedia. La clase debe tener un atributo,
que sea un arreglo de objetos Multimedia y un entero para contar cuantos objetos hay almacenados.
Como métodos debe tener:
- un constructor que recibe un parámetro entero que indica el número máximo de objetos que va a almacenar, en este
método se crea el arreglo con el tamaño especificado y se inicializa el contador a 0
- un método llamado tamaño que devuelve el número de objetos que hay en la lista
- un método agregar que recibe un objeto Multimedia que añade el objeto al final de la lista y devuelve true; en caso
de que la lista esté llena, devuelve false, para lo cual llama a ejecución al método listaLlena definido como un
método privado (ya que sólo será activado dentro del método agregar)
- un método get que reciba un parámetro de tipo entero el cual debe comprobarse que la posición es válida y de ser
así, se devuelve el objeto que regresará el objeto Multimedia en esa posición una redefinición del método toString
que utiliza un String para ir acumulando las llamadas al método toString() de los objetos multimedia, en donde al
final, se devuelve ese String. (10
puntos)

8. Escribir una clase Disco, que herede de la clase Multimedia. La clase Disco tiene, aparte de los elementos heredados,
un atributo para almacenar el género al que pertenece (rock, pop, ópera…). El género se define en un tipo enumerado
llamado Genero, que se implementa en un archivo aparte de la siguiente forma:
public enum Genero {
rock, pop, soul, funky, flamenco, clasica, blues, tecno, opera, punk, jazz, hiphop
};
La clase debe tener un método para obtener el nuevo atributo (get) y debe sobreescribir el método toString para que
devuelva toda la información, por lo que cuando sobreescriba el método toString() debe llamar al método toString() de
la superclase y concatenar la parte nueva. (10
puntos)

S-ar putea să vă placă și