Sunteți pe pagina 1din 6

Manual para pasar el primer parcial teórico de Marcelita (:3) :

A continuación, encontrara posibles preguntas que saldrán en el parcial teórico, procure discreción
para que no nos embale a los demás plis, mire que todos queremos subir promedio. Use Ctrl+f
para buscar su pregunta en el siguiente pdf, si no encuentra la pregunta pues al pinochazo tan
bobito. Las preguntas con selección múltiple se procedió a separar sus respuestas con un || .
(Nota: Toda opción marcada con * es opcional seleccionarla, varios parciales no tienen esta
opción y aun así han sacado alta nota)

1. Cuando se viola el diseño por contrato se viola directamente el principio de:

R/: Principio sustitución de Liscov.

2. No es posible en Java:

R/: herencia múltiple.

3. Considere dos clases Instrumento y Guitarra sin atributos privados, en las que Guitarra es
una subclase de Instrumento, de acuerdo a esto es verdad que:

R/: El número de atributos de Guitarra es mayor o igual al número de atributos de


Instrumento.

4. ¿Qué es un objeto en la programación orientada a objetos?

R/: Un objeto es la instancia de una clase.

5. La sobrecarga de métodos implica:

R/: Modificar el número de parámetros de un método

6. Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se


desencadena tras la recepción de un "mensaje". Desde el punto de vista del
comportamiento, es lo que el objeto puede hacer, tal vez puede producir un cambio en las
propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro
objeto del sistema.

R/: método

7. Un diseño que en un principio parece bueno y bien diseñado pude empezar a deteriorarse
porque:

R/: No se le dio la flexibilidad que permitiera su extensibilidad || Los requerimientos son cambiantes
|| (No fue pensado para desarrollar en java) *

8. En el diseño por contrato, las clases declaran sus precondiciones y pos condiciones, las
cuales en su orden se definen como:

R/: Pre: una condición que debe ser cierta para que el método se ejecute correctamente. Pos: Una
condición que es cierta después de la ejecución del método.
9. Cuando hablamos de principio de transparencia referencial, podemos decir que en
paradigma de programación orientada a objetos es directa su aplicación ya que en este se
cumple totalmente.

R/: Falso.

10. ¿Cuál de estos códigos para crear un nuevo objeto de tipo Fruta es correcto?

R/: Fruta f = new Fruta [];

11. Cuando trabajamos con excepciones podemos utilizar la palabra finally para:

R/: Define un bloque de código que será ejecutado siempre.

12. Un espacio de nombres que agrupa y organiza lógicamente clases e interfaces se


denomina:

R/: paquete.

13. ¿Qué pasa al ejecutar el siguiente código?


Figura cuadrado = new Figura();
Figura cuadro = cuadrado;

R/: Se crea un objeto de tipo Figura, al cual refieren las dos variables de objeto cuadro y cuadrado.

14. Como se llama el método al que hace el llamado el hilo inicial que ejecuta la máquina
virtual.

R/: public static void main (String[] args) de la clase que se comienza a ejecutar.

15. Si se desea evitar los efectos de lado en el paradigma de programación orientada a


objetos debemos:

R/: Separar las ordenes de las consultas

16. ¿Cuál de estas afirmaciones sobre una variable de objeto no es cierta?

R/: Una variable de objeto puede contener la referencia null.

17. “Las aplicaciones pueden generar muchos tipos de condiciones inesperadas. Por
ejemplo, podríamos querer que el usuario introdujera un int pero él introduce un String. El
usuario podría solicitar el nombre de un archivo que no existe, o nuestra lógica de programa
podría intentar dividir por cero.” El anterior texto hace referencia a:

R/: Excepciones.

18. Técnica de la programación orientada a objetos fuertemente ligada al principio abierto-


cerrado

R/: Ligadura dinámica

19. Un espacio de nombres que agrupa y organiza lógicamente clases e interfaces se


denomina:

R/: paquete
20. Las definiciones correctas, en su respectivo orden, de modularidad, cohesión y
acoplamiento son:

R/: Modularidad: Para resolver un problema complejo de desarrollo de software, conviene separarlo
en partes más pequeñas, que se puedan diseñar, desarrollar, probar y modificar, de manera
sencilla y lo más independientemente posible del resto de la aplicación. Cohesión: cada módulo del
sistema se refiera a un único proceso o entidad. Acoplamiento: mide el grado de relacionamiento
de un módulo con los demás.

21. Cuando se desea aplicar el concepto de ligadura dinámica se debe garantizar que:

R/: Que la relación entre las clases esté dada dentro de una relación jerárquica de herencia.

22. Una tarea común en programación es leer y escribir archivos, cual es el canal apropiado
para realizar esta tarea?

R/: FileInputStream y FileOutputStream

23. Cuando hablamos de la tendencia del software a dificultar los cambios por simples que
sean, hablamos de:

R/: Rigidez

24. Principio en el que la idea es que nunca se debe cambiar el diseño de los módulos.
Cuando cambien los requisitos, se extiende el comportamiento de los módulos añadiendo
nuevo código, pero nunca cambiando el código que ya funciona

R/: Abierto /Cerrado

25. Si consideramos como ejemplo un módulo que calcula una nómina e imprime un
informe. Es cierto que, teniendo en cuenta el principio de responsabilidad única:

R/: (Este módulo no puede ser cambiado porque, aunque el contenido del informe pueda variar no
implica que si quiero un informe con un aspecto llamativo tenga que hacer un módulo diferente
porque trabajamos con los mismos datos.)* || Estos dos aspectos del problema son en realidad dos
responsabilidades distintas, y por lo tanto debe estar en clases separadas o módulos. || Estas dos
cosas cambian por causas muy diferentes: uno de fondo, y una estética. Sería un mal diseño para
acoplar dos cosas que cambian por razones diferentes en momentos diferentes.

26. ¿Cómo definimos que una clase hereda de otra?

R/: Con la palabra clave “extends”, de la siguiente manera: class NombreDeClaseDerivada extends
NombreDeClaseBase

27. ¿Para qué sirve declarar una clase como abstracta?

R/: Para decir que no se puede instanciar, que no podemos tener objetos de ella.

28. Conviene utilizar campos private para proteger la información de una clase, de forma
que sólo sea manipulable por los métodos de la misma, a lo que se denomina.

R/: encapsulamiento.
29. Un diseño que en un principio parece bueno y bien diseñado pude empezar a
deteriorarse porque:

R/: Los requerimientos son cambiantes. || No se le dio la flexibilidad que permitiera su


extensibilidad. || Los diseños no se degradan, se degrada el software implementado.

30. ¿Qué es una clase en la programación orientada a objetos?

R/: Una clase es la descripción de un tipo de objetos.

31. ¿Cuál de estas afirmaciones sobre constructores no es cierta?

R/: Un constructor puede devolver cualquier tipo de datos (int, boolean, String, etc).

32. En el siguiente bloque de código ¿Cuántos objetos han sido creados?

int area;
String st1;
String st2 = new String(“ab”);

R/: Uno st2

33. En la siguiente declaración de variables “int entero1; Integer entero2;” indicar cuál de
ellas es un primitivo y cual es un tipo de referencia:

R/: entero1 es un tipo primitivo; entero2 es un tipo referencia.

34. Si intentamos acceder a un método private desde otra clase:

R/: El programa no compila. Se produce un error de compilación.

35. ¿Cuántos objetos de una misma clase se pueden crear en un programa?

R/: Tantos como los necesita el programa.

36. ¿En qué distinguimos una interface de una clase abstracta?

R/: En que una interface no permite implementar código en los métodos, solo definirlos, además
que para implementar una interface hay que usar la palabra clave implements.

37. Cuando se habla de que el software no es lo suficientemente flexible como para


promover el reusó del software, se habla de un síntoma de mal diseño que corresponde a:

R/: Inmovilidad.

38. Si una clase C tiene un atributo estatico (“static”) y se tienen dos instancias de C cUno y
cDos es verdad que:

R/: El atributo p puede ser accedido sin crear una instancia de C.

39. Tomando la definición de la Ley de Demeter, es correcto afirmar que:

R/: Garantiza durante un desarrollo orientado a objetos una buena escabilidad, depuración de
errores y mantenimiento. || Si fuera necesario invocar un método más lejano no se hará
directamente, sino que cada método invoca a otro de su entorno cercano hasta llegar al que debe
invocarse en último extremo.
40. Es una explicación de Polimorfismo:

R/: Los comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo
nombre, al llamarlos por ese nombre se utilizará el comportamiento correspondiente al objeto que
se esté usando.
41. ¿Para que sirve declarar una clase como abstracta?

R/: Para decir que no se puede instanciar, que no podemos tener objetos de ella.

42. ¿Qué es un método static?

R/: Es un método de clase, no describe el comportamiento de los objetos de esta clase

43. ¿Es necesario definir en las subclases los métodos abstractos definidos en la
superclase abstracta?

R/: Si, porque son métodos sin cuerpo, y el lenguaje nos obliga a definirlos y poner un cuerpo en
las clases derivadas de esta clase abstracta.

44. Relación que define un contrato en el que una clase debe implementar los servicios
definidos en una interfaz

R/: Realización.

45. La técnica del teatro de clases permite al grupo de desarrollo

R/: Depurar el diagrama de clases verificando si es completo o no para una funcionalidad


especifica.

46. Un diagrama de secuencia en UML.

R/: Hace hincapié en la ordenación temporal de los mensajes que se intercambian.

47. Una de las ventajas ineludibles de la orientación a objetos es:

R/: Poder reutilizar código por medio del uso de objetos polimórficos.

48. Un cliente desea conocer la funcionalidad del sistema ¿Cuál es el diagrama de UML que
se puede utilizar para este caso?

R/: un diagrama de casos de uso.

49. Establezca la asociación correcta entre el concepto y el nombre del elemento:

R/: Representa un agrupamiento lógico de clases. – Paquete


Representa una abstracción de un tipo de objetos con sus características y comportamiento común
– Clase
Representa una acción del sistema desde el punto de vista del usuario – Caso de uso.
50. La inversión de dependencias y la inyección de dependencias, en su orden, se definen
como:

R/: Inversión de dependencias: Las clases de alto nivel no deberían depender de las clases de bajo
nivel. Ambas deberían depender de las abstracciones. Inyección de dependencias: patrón en el
que se suministran objetos a una clase en lugar de ser la propia clase quien cree el objeto.

51. Cuando se define una relación de asociación entre dos clases en la que se determina
que un elemento de una clase puede contener cero o n elementos de la otra, esta relación se
puede tipificar como:

R/: agregación.

52. Las tarjetas CRC son ________, se usan para _______ y sus siglas significan ________.

R/: Son una técnica para la representación de sistemas Orientados a Objetos. Se usan para pensar
en objetos. Sus siglas significan Clase-Responsabilidad-Colaboración.

53. ¿A que nos ayuda las clases de tipo interface?

R/: A que se cumplan unos métodos para las clases que los implementan y es buena manera de
simular la herencia múltiple.

54. Los programas que utilizan archivos deben contener la instrucción:

R/: import.java.io.*

55. Un método estático es un método…

R/: de clase, no describe el comportamiento de los objetos de esta clase.

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