Quiz1 Flashcards

1
Q

Qué es una clase abstracta y cuando incorporar en El diseño una clase abstracta

A

Es una clase que no puede ser instanciada directamente. Se incorpora cuando quieres que varias clases compartan un conjunto de común de métodos y atributos pero que no tiene sentido instanciarla por si sola

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

¿Es obligatorio que una clase abstracta tenga un método abstracto obligatoriamente para crearla?

A

No, no es obligatorio que una clase abstracta tenga métodos abstractos para ser declarada como tal. Una clase en Java puede ser declarada como abstract incluso si no contiene ningún método abstracto.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

A qué se le llama objeto?

A

A la instancia de una clase con métodos y atributos que interactúan entre si

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cuantos y cuales son los modificadores de acceso?

A

1Public
2.Private
3.Protected
4.Package-private

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Es posible que un método haga diferentes cosas en base al objeto?

A

Sí, en POO es posible que un método realice diferentes acciones dependiendo del objeto al que se aplica, se le conoce como polimorfismo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cómo se le llama a la practica de ocultar los detalles internos del funcionamiento de una clase?

A

Encapsulamiento

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

En que se basa el concepto de herencia?

A

Se basa en que clases hereden metodos y atributos de otras clases, las cuales no van a contar con los atributos y métodos que le agreguemos a esas clases hija

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

En que se diferencia una clase abstracta y una clase padre, si se podria decir que ambas heredan métodos y atributos a otras clases?

A

La diferencia radica en que las clases abstractas no es posible instanciarlas y no tiene sentido, en cambio, una clase padre aparte de heredar métodos y atributos, podemos instanciarla para crear un objeto de esa clase

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Bajo que circunstancias debo incorporar un método abstracto en una clase?

A

Debes considerar usar un método abstracto cuando quieres asegurarte de que cada subclase implemente el método de una manera que sea específica para esa subclase, pero al mismo tiempo deseas garantizar que todas las subclases ofrezcan ese comportamiento específico.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Cuantos tipos de relación entre clases existen?

A
  1. Dependencia
  2. Agregación
  3. Composición
  4. Asociación
  5. Herencia
  6. Realización
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Implicaciones de relacionar dos clases usando la relación de dependencia

A

Acoplamiento Temporal: La dependencia suele ser temporal y a menudo ocurre durante la invocación de métodos. Una clase dependiente puede requerir otra clase para un método específico pero no mantiene una referencia a largo plazo.
Cambios Sensibles: Si la clase de la que depende cambia (por ejemplo, cambios en la firma del método), la clase dependiente también podría necesitar cambios.
Flexibilidad: La dependencia permite cierta flexibilidad ya que las clases no están fuertemente acopladas. Esto facilita el reemplazo o la modificación de las clases dependientes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Implicaciones de relacionar dos clases usando la relación de asociación

A

Relación Flexible: Las clases pueden interactuar entre sí pero mantienen su independencia y pueden existir por separado.
Acoplamiento Variable: La fuerza del acoplamiento puede variar, pero generalmente es menos intensa que en la composición o la agregación.
Navegabilidad: Puede ser unidireccional (una clase conoce a la otra pero no al revés) o bidireccional (ambas clases se conocen mutuamente).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Implicaciones de relacionar dos clases usando la relación de agregación

A

Relación “Tiene-Un”: Representa una relación de todo/parte, pero las partes (objetos de la clase agregada) pueden existir independientemente del todo (la clase agregadora).
Acoplamiento más débil que en Composición: Las partes pueden existir y ser utilizadas por otras clases o contextos fuera de la clase agregadora.
Gestión del Ciclo de Vida: El ciclo de vida de las partes no está estrictamente ligado al de la clase contenedora.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Implicaciones de relacionar dos clases usando la relación de composición

A

Relación “Tiene-Un” Fuerte: Las partes (objetos de la clase compuesta) están vinculadas de manera más fuerte al todo (la clase compuesta) y no pueden existir sin él.
Acoplamiento Fuerte: La clase compuesta tiene la responsabilidad total sobre el ciclo de vida y la gestión de las partes.
Exclusividad: Generalmente, las partes no se comparten con otras clases o contextos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Que promueve el adecuado uso de modificadores de acceso?

A

El uso adecuado de los modificadores de acceso es crucial para un buen diseño de software. Promueve la mantenibilidad, la seguridad y la prevención de errores inadvertidos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Cual es la diferencia entre declarar un atributo protected y declararlo package-private?

A

La principal diferencia entre protected y package-private es el alcance de la accesibilidad: protected extiende la accesibilidad a todas las subclases (incluso en diferentes paquetes), mientras que package-private restringe la accesibilidad solo a clases dentro del mismo paquete, independientemente de la relación de herencia.

17
Q

Cual es el modificador de acceso de más seguridad y porqué?

A

Private, porque solo es permite su acceso desde su misma clase proporcionando un alto nivel de seguridad y encapsulamiento, protegiendo los datos de accesos y modificaciones no autorizadas.

18
Q

Es posible otorgar un acceso controlado a un atributo private?

A

Sí, es posible otorgar un acceso controlado a un atributo private, el acceso controlado generalmente se realiza mediante métodos públicos o protegidos en la misma clase que el atributo privado. Estos métodos se conocen comúnmente como getters y setters.