Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Clase Final: Dudas - Análisis de relaciones entre clases y atributos, Esquemas y mapas conceptuales de Programación y Diseño Digital Lógico

Este documento contiene respuestas a dudas sobre conceptos básicos de herencia, interfaces, atributos y métodos en java. Se abordan temas como la relación entre clases, la dependencia, la implementación, la realización, la sobrecarga y la redefinición de métodos, y la herencia de atributos. Además, se incluyen ejercicios para practicar la comprenión de estos conceptos.

Tipo: Esquemas y mapas conceptuales

2020/2021

Subido el 22/12/2021

blancabgz
blancabgz 🇪🇸

1 documento

1 / 4

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
CLASE FINAL: DUDAS
PREGUNTA 1: Verdadero y falso
La relación entre ControlDePoder y SuperHeroe es de dependencia: Falso, es de
implementación o realización
SEVolador es una interfaz porque está en cursiva, aunque no lleve <>, es otra
forma de representarla: Falso, se trata de una clase abstracta porque implementa una clase
abstracta y no lleva la palabra interface.
En el enumerado Poder hay un atributo de la clase SuperHeroe: Falso, en la clase
superheroes hay un array de poderes.
En la interface ControlDePoder podría añadirse una constante, por ejemplo,
DuracionPoderes, siempre que sea protected: dentro de una interfaz no tiene porque haber
solo métodos abstractos, pueden tener constantes, signaturas de métodos (osea métodos
sin implementar), métodos default y métodos static. Las constantes: public, static y final.
Falso.
El método volar está redefinido en las clases que heredan de SEVolador: Verdadera ya que
esta es una clase abstracta.
El método informar está sobrecargado en SEForzudo: Verdadero, sobrecarga el método que
debería hacer SuperHeroe porque le obliga la interfaz, como el no lo hace, lo hace su hijo.
Un objeto de la clase SEForzudo no puede consultar su atributo nombre en Java: Falso,
porque no puede acceder ni a nombre ni a getNombre porque son privados.
A los objetos de la clase SEVolador se les puede enviar el mensaje informar: Verdadero
La clase SEAlienigenaVolador hereda todos los atributos de SEVolador excepto los privados:
Verdadera
Si SETerrestreVolador fuera una clase abstracta necesitaría añadir al menos un método
abstracto: Verdadero a no ser que tenga que implementar un método abstracto
Si en SuperHeroe estuviera el atributo identificador, habría conflicto de nombres en
SEAlienigenaVolador: verdadero porque ya se esta herendando de otra clase por ese mismo
nombre.
pf3
pf4

Vista previa parcial del texto

¡Descarga Clase Final: Dudas - Análisis de relaciones entre clases y atributos y más Esquemas y mapas conceptuales en PDF de Programación y Diseño Digital Lógico solo en Docsity!

CLASE FINAL: DUDAS

PREGUNTA 1: Verdadero y falso

La relación entre ControlDePoder y SuperHeroe es de dependencia: Falso, es de

implementación o realización

SEVolador es una interfaz porque está en cursiva, aunque no lleve <>, es otra

forma de representarla: Falso, se trata de una clase abstracta porque implementa una clase

abstracta y no lleva la palabra interface.

En el enumerado Poder hay un atributo de la clase SuperHeroe: Falso, en la clase

superheroes hay un array de poderes.

En la interface ControlDePoder podría añadirse una constante, por ejemplo,

DuracionPoderes, siempre que sea protected: dentro de una interfaz no tiene porque haber

solo métodos abstractos, pueden tener constantes, signaturas de métodos (osea métodos

sin implementar), métodos default y métodos static. Las constantes: public, static y final.

Falso.

El método volar está redefinido en las clases que heredan de SEVolador: Verdadera ya que

esta es una clase abstracta.

El método informar está sobrecargado en SEForzudo: Verdadero, sobrecarga el método que

debería hacer SuperHeroe porque le obliga la interfaz, como el no lo hace, lo hace su hijo.

Un objeto de la clase SEForzudo no puede consultar su atributo nombre en Java: Falso,

porque no puede acceder ni a nombre ni a getNombre porque son privados.

A los objetos de la clase SEVolador se les puede enviar el mensaje informar: Verdadero

La clase SEAlienigenaVolador hereda todos los atributos de SEVolador excepto los privados:

Verdadera

Si SETerrestreVolador fuera una clase abstracta necesitaría añadir al menos un método

abstracto: Verdadero a no ser que tenga que implementar un método abstracto

Si en SuperHeroe estuviera el atributo identificador, habría conflicto de nombres en

SEAlienigenaVolador: verdadero porque ya se esta herendando de otra clase por ese mismo

nombre.

Si en Java, en la clase SEVolador se cambiara el valor del atributo Sindicato con un método,

ese valor cambiaría también en su clase padre y sus clases hijas: verdadero, cambia tanto

para la subclase como para la superclase, se tendria que redeclarar otra variable de esa

clase "Sindicato" para que no se cambie en las superclases.

EJERCICIO 1.1:

CASO A)

S --> CP //relacion de dependencia

S --- ➮ CP // relacion de realizacion o implementacion

// hay ligadura dinámica en el método rescatar que se debe ejecutar se decide en tiempo de ejecución dependiendo de la clase de la variable batman --> verdadero SuperHeroe batman= new SETerrestreVolador("Batman", "Tierra", 1.2); batman.rescatar();

//Hay error en este código Ruby en el método alunizar de SEAlienigenaVolador (donde otro es un objeto conocido de la clase SuperHeroe y nombre es el consultor del atributo con el mismo nombre) --> verdadero, no se puede acceder al metodo porque en ruby los atributos son privados

puts "el nombre de mi amigo es: " + otro. nombre + " y rescatamos humanos en peligro"

class Superheroe{ void metodo(){ ControlDePoder p; } }

class SuperHeroe implements ControlDePoder{ // control de poder se compromete a implementar los metodos de ControlDePoder

}

Línea 1: Es correcta

Línea 2: Tiene fallo: error de compilación porque SEVolador es una clase abstracta y no se puede

instanciar.

Línea 3: Tiene un error de compilación porque no tiene relación una clase con la otra.

Línea 4: Es correcta

Línea 5: Error de compilación, falta el new().

Línea 6: Es correcta

Línea 7: Correcta

Línea 8: Incorrecta --> coleccion.add((SEAlienigenaVolador) sh2)

Línea 9: tipo estatico: SEVolador // tipo dinámico: SETerrestreVolador --> Fallo en tiempo de

compilacion por SEVolador