11 Modulos y Encapsulamiento Flashcards
¿Qué es un módulo en Java?
Un conjunto de paquetes agrupados bajo un module-info.java
.
¿Cuándo se introdujo el sistema de módulos en Java?
En Java 9.
¿Qué palabra clave se usa para definir un módulo en Java?
La palabra clave module
.
¿Qué archivo define los módulos en Java?
El archivo module-info.java
.
¿Qué hace la declaración exports paquete;
en module-info.java
?
Permite que otros módulos accedan a ese paquete.
¿Qué hace la declaración requires modulo;
en module-info.java
?
Indica que un módulo depende de otro.
¿Qué hace opens paquete;
en module-info.java
?
Permite la reflexión sobre un paquete.
¿Qué diferencia hay entre exports
y opens
en módulos?
exports
permite acceso normal, opens
permite acceso vía reflexión.
¿Qué es la encapsulación en Java?
Un principio de OOP que restringe el acceso directo a los datos de un objeto.
¿Cómo se logra la encapsulación en Java?
Usando modificadores de acceso (private
, protected
, public
).
¿Qué modificador de acceso se usa para encapsular datos en una clase?
private
.
¿Cómo se accede a atributos privados de una clase?
Mediante métodos getter
y setter
.
¿Qué palabra clave impide que una clase sea heredada?
final
.
¿Qué palabra clave impide que un método sea sobrescrito?
final
.
¿Qué hace transitive
en requires transitive modulo;
?
Permite que los módulos dependientes accedan a un módulo indirectamente.
¿Qué es la reflexión en Java?
Un mecanismo para inspeccionar y modificar clases en tiempo de ejecución.
¿Cómo se restringe el uso de la reflexión en módulos?
Usando opens
en module-info.java
.
¿Qué comando de compilación se usa para compilar módulos en Java?
javac --module-source-path src -d out $(find src -name "*.java")
.
¿Cómo se ejecuta una aplicación modular en Java?
Usando java --module-path out -m modulo.principal/ClasePrincipal
.
¿Qué ventaja ofrece el sistema de módulos en Java?
Mejor encapsulación, mantenimiento y reducción del tamaño de las aplicaciones.