Manual para pasar el primer parcial teórico de Marcelita (:3) :
A continuación, encontrara posibles preguntas 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: (Nota: Toda opción marcada con * es opcional s eleccionarla, varios varios parciales parciales no tienen tienen esta opción y aun así han sacado alta nota)
1. Cuando Cuando se viola el diseño por co ntrato se viola directamente el el princ ipio d e:
R/: Principio sustitución de Liscov. 2. No No es po sibl e en Java:
R/: herencia múltiple. 3. Considere Considere dos clases Instrumento y Guitarra sin atribut os privados, en las q ue Guitarra es es una subclase de Instrumento, de acuerdo 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é ¿Qué es es un objeto en la pro gramación orientada a objetos?
R/: Un objeto es la instancia de una clase. 5. La sobrecarga de métodos imp lica:
R/: Modificar el número de parámetros de un método 6. Algorit Algorit mo asociado a un o bjeto (o a una clase de objetos), cuya ejecución s e desencadena desencadena tras la recepción de un " mensaje". Desde Desde el punto de vista del compo rtamiento, es es lo q ue el objeto puede hacer, tal vez puede producir un c ambio en las propiedades del objeto, o la genera generació ció n de un " evento" con un nuevo mensaje para otro objeto d el sistema.
R/: método 7. Un Un dis eño que en un princip io p arece arece bueno y b ien diseñado p ude empezar empezar a deteriorarse 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 En el diseño por c ontrato, las clases clases declaran declaran sus p recondicion es y pos co ndiciones, 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 p rincipio de transparencia referencial, podemos decir que en paradigma de programación o rientada a objetos es d irecta su aplicación ya que en este se cumple totalmente.
R/: Falso. 10. ¿Cuál de estos có digos para crear un nuevo ob jeto de tipo Fruta es correcto?
R/: Fruta f = new Fruta [] ; 11. Cuando trabajamos co n excepciones pod emos 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 cuad ro 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 q uerer que el usuario int rodujera un i nt pero él int roduce un String. El usuario pod ría solicitar el nombre de un archivo que no exis te, o nuestra lógica de prog rama 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 abiertocerrado
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 ord en, 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 pro gramación es leer y escribir archivos, cual es el canal apropiado para realizar esta tarea?
R/: FileInputStream y FileOutputStream 23. Cuando h ablamos de la tendencia del softw are a dificultar lo s cambios po r simples q ue sean, hablamos de:
R/: Rigidez 24. Principio en el q ue la idea es que nunc a 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ódig o, pero nunca cambiando el código que ya funciona
R/: Abierto /Cerrado 25. Si cons ideramos como ejemplo un mód ulo que calcula una nómina e imprime un informe. Es cierto que, teniendo en cuenta el principio de responsabilidad ún ica:
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 com o abstr acta?
R/: Para decir que no se puede instanciar, que no podemos tener objetos de ella. 28. Conviene utilizar campo s p rivate para proteger la información de una cl ase, de forma que sólo sea manipulable por los métodos d e la misma, a lo que se denomina.
R/: encapsulamiento.
29. Un diseño que en un princ ipio parece bueno y b ien diseñado pud e 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 construc tores no es cierta?
R/: Un constructor puede devolver cualquier tipo de datos (int, boolean, String, etc). 32. En el sig uiente bloque de código ¿Cuántos ob jetos han sido creados? int area; String st1; String st2 = new String( “ab”);
R/: Uno st2 33. En la sig uiente declaraci ón de variables “int entero1; Integer entero2;” indicar cuál de ellas es un primitivo y c ual 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 ob jetos de una misma c lase se pueden crear en un programa?
R/: Tantos como los necesita el programa. 36. ¿En qué d istinguimo s una int erface 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 s uficientemente flexible como para promover el reusó d el software, se habla de un síntoma de mal diseño que correspo nde a:
R/: Inmovilidad. 38. Si una clase C tiene un atributo estatico (“static”) y se tienen dos inst ancias de C cUno y cDos es verdad que:
R/: El atributo p puede ser accedido sin crear una instancia de C. 39. Tomando l a definic ión d e la Ley de Demeter, es co rrecto afi rmar qu e:
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 d e Polimorfismo:
R/: Los comportamientos diferentes, asociados a objetos di stintos, 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 subc lases 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 d efine 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 di agrama de secuenc ia 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 conoc er la funcio nalidad d el 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 ord en, 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 do s clases en la que se determina que un elemento d e una clase puede cont ener cero o n elementos d e la otra, esta relación se puede tipificar como:
R/: agregación. 52. Las tarjetas CRC son ________, se usan p ara _______ y sus sig las s igni fic an ________.
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 u n método…
R/: de clase, no describe el comportamiento de los objetos de esta clase.