Tengo una inquietud, ¿las clases anidadas no van en contra vía del principio de alta cohesión y bajo acoplamiento?

Carlos Andres Lozano Arroyo

Carlos Andres Lozano Arroyo

Pregunta
studenthace 6 años

Tengo una inquietud, ¿las clases anidadas no van en contra vía del principio de alta cohesión y bajo acoplamiento?

2 respuestas
para escribir tu comentario
    Stiven Trujillo

    Stiven Trujillo

    studenthace 4 años

    Pero esto hace que el programa no sea escalable, porque si limitas esa clase a que solo sea utilizada por su clase externa, y si en algún momento va a existir otra clase externa que utilize de esa clase. pum!

    jejeje literalmente solo veo este concepto aplicado a librerías como dice el amigo Oscar.

    Oscar Estuardo de la Mora

    Oscar Estuardo de la Mora

    studenthace 6 años

    No, las clases anidadas de hecho proveen de cohesión a nivel de clases. Normalmente no vas a utilizar clases anidadas en aplicaciones, casi que solo se usa cuando haces librerías o APIs reutilizables en otros proyectos. Pero bueno, un ejemplo practico es, Imagina que tienes una clase de un auto que es AutoYaris, este va a tener una clase interna llamado MotorYaris que extiende de una clase Motor. Esta clase interna hace que la instancia de AutoYaris camine, pero solamente vas a usar esa clase interna por que es especifica para los AutoYaris. Si vas a hacer AutoMazda3, vas a crearle su clase interna especifica, MotorMazda3, por que solamente la vas a usar en la clase Anfitriona, jamas en otra clase.

    Como te digo, este concepto es casi que exclusivo para librerías que ya implementan patrones de diseño, un concepto puede que exista pero no necesariamente lo vas a usar (es mas, a veces el uso de clases anidadas puede que te haga codificar de mas, te lo digo por experiencia).

Curso Avanzado de Java SE

Curso Avanzado de Java SE

Explora programación avanzada en Java SE centrándote en la programación orientada a objetos, lambdas, y manejo de excepciones. Aprende a usar JDBC para acceder a bases de datos, aplicando técnicas modernas y eficientes para gestión de datos.

Curso Avanzado de Java SE
Curso Avanzado de Java SE

Curso Avanzado de Java SE

Explora programación avanzada en Java SE centrándote en la programación orientada a objetos, lambdas, y manejo de excepciones. Aprende a usar JDBC para acceder a bases de datos, aplicando técnicas modernas y eficientes para gestión de datos.