El encapsulamiento es un concepto clave en la programación orientada a objetos que permite proteger la información interna de una clase mediante el uso de modificadores de visibilidad. Al restringir el acceso directo desde fuentes externas, puedes evitar manipulaciones indeseadas y mantener la integridad de tus datos y operaciones.
¿Qué son los modificadores de visibilidad?
Los modificadores de visibilidad definen el nivel de acceso que tendrán variables y métodos en las clases:
Public: todos los elementos son accesibles desde fuera por defecto si no se especifica lo contrario.
Private: restringe el acceso para que solo sea visible internamente en la clase.
Por ejemplo, al crear una clase Email, podrías tener ciertas variables públicas que se pueden acceder fácilmente y algunas privadas que necesiten protección por razones de seguridad.
¿Cómo usar modificadores de visibilidad en variables y métodos?
Cuando crees un objeto como un Email con un asunto y una contraseña, normalmente no querrías exponer la contraseña directamente fuera del objeto. Para ello, Kotlin permite declarar variables como private, protegiéndolas de accesos externos:
Un método para enviar correos debe estar expuesto al exterior, pero una función para cifrarlos suele ser un detalle interno. De esa forma, también declaras métodos privados:
privatefunencrypt(){// lógica de cifrado}
Así, controlas las operaciones permitidas desde otros lugares.
¿Qué es la herencia en Kotlin y cómo influye en la visibilidad?
La herencia permite crear clases nuevas basadas en clases existentes, reutilizando sus métodos y atributos.
Para poder extender una clase, necesitas usar el modificador open en tu clase base, ya que por defecto Kotlin restringe esta capacidad: