Encapsulación vs abstracción
La encapsulación y la abstracción son dos conceptos diferentes pero relacionados que se encuentran en los lenguajes de programación orientada a objetos (OOP). La encapsulación es el concepto de combinar datos y comportamiento juntos como una sola entidad. Por otro lado, la abstracción es el proceso de presentar cómo se comporta / se ve una entidad en contraposición a cómo se implementa.
¿Qué es la encapsulación?
La encapsulación es el proceso de empaquetar datos y operaciones que operan sobre ellos en una sola entidad. Básicamente, esto significa que para acceder a los datos, se deben utilizar ciertos métodos predefinidos. En otras palabras, los datos encapsulados no son directamente accesibles. Esto asegura que se preserva la integridad de los datos porque el usuario no puede acceder directamente y modificar los datos como lo desee. Los usuarios obtendrán o establecerán los valores de los datos solo a través de los métodos que están disponibles públicamente para los usuarios. Por lo general, estos métodos proporcionan validación de datos de modo que solo se permite insertar en los campos los datos en el formato adecuado. Por lo tanto, los beneficios de la encapsulación son triples. A través de la encapsulación, el programador puede hacer que los campos de una clase sean de solo lectura o de solo escritura. En segundo lugar,una clase puede tener un control total sobre lo que se almacena en sus campos. Finalmente, los usuarios de una clase no necesitan preocuparse de cómo se almacenan sus datos. En Java, el programador puede declarar que todas las variables de instancia son privadas y proporcionar métodos get y set (que son públicos) para acceder y modificar los campos privados.
¿Qué es la abstracción?
La abstracción es el proceso de separar los detalles de la presentación de los detalles de la implementación. Esto se hace para que el desarrollador se libere de los detalles de implementación más complejos. En cambio, el programador puede centrarse en la presentación o los detalles de comportamiento de la entidad. En términos simples, la abstracción se centra en cómo se puede usar una determinada entidad en lugar de en cómo se implementa. La abstracción esencialmente oculta los detalles de implementación, de modo que incluso si la metodología de implementación cambia con el tiempo, el programador no tendría que preocuparse de cómo afectaría a su programa. Un sistema se puede abstraer en varias capas o niveles. Por ejemplo, las capas de abstracción de bajo nivel revelarán detalles del hardware, mientras que la abstracción de alto nivel solo revelará la lógica empresarial de la entidad. El término abstracción se puede utilizar para referirse tanto a una entidad como a un proceso y esto conduce a cierta confusión. Como proceso, la abstracción significa extraer detalles esenciales mientras se ignoran los detalles no esenciales de un elemento o grupo de elementos, mientras que como entidad, abstracción significa un modelo o una vista de una entidad con solo los detalles esenciales. En Java, el programador puede usar la palabra clave abstract para declarar una clase como una entidad abstracta, que representa las características definitorias esenciales de una entidad del mundo real.el programador puede usar la palabra clave abstract para declarar una clase como una entidad abstracta, que representa las características definitorias esenciales de una entidad del mundo real.el programador puede usar la palabra clave abstract para declarar una clase como una entidad abstracta, que representa las características definitorias esenciales de una entidad del mundo real.
¿Cuál es la diferencia entre encapsulación y abstracción ??
Aunque la encapsulación y la abstracción son conceptos muy relacionados que se encuentran en los lenguajes de programación orientada a objetos, tienen diferencias clave. La abstracción es una técnica que nos ayuda a identificar qué debería ser visible y qué debería estar oculto. La encapsulación son las técnicas para empaquetar la información de manera que haga visible lo que debería ser visible y oculte lo que debería estar oculto. En otras palabras, la encapsulación se puede identificar como un paso más allá de la abstracción. Mientras que la abstracción reduce un objeto del mundo real a sus características definitorias esenciales, la encapsulación extiende esta idea modelando y vinculando esta funcionalidad de esa entidad.