La abstracción y la encapsulación son conceptos básicos de programación orientada a objetos (OOP) que permiten incrustar objetos del mundo real en programas y códigos. Cuando los dos se unen, son muy diferentes entre sí. Aunque cada método está encapsulado, es abstracto. En pocas palabras, cuando combina diferentes cosas para crear un individuo, realmente crea el concepto: el resumen. Aunque ambos están técnicamente separados, son literalmente inexistentes. Es casi cierto que cada encapsulación es abstracta porque ocultan ambos, pero las diferencias son iguales.

¿Cuál es la conclusión?

La abstracción es un concepto clave de la POO que se enfoca solo en información específica del objeto y oscurece toda la información sin importancia que puede o no ser general o especializada. Oculta los detalles y enfatiza aspectos importantes para reducir la complejidad y aumentar la eficiencia. Básicamente, la abstracción es una herramienta de software para gestionar la complejidad. La abstracción se enfoca en ideas, no en eventos. Oculta datos de nivel de diseño al proporcionar a los usuarios funcionalidad. El objeto resultante también se puede llamar abstracto. El programador se asegura de que el objeto nombrado contenga todos los elementos esenciales y que no sea trivial.

Tome un ejemplo de abstracción real. En este caso, considere la condición del vehículo que es su vehículo. El mecánico intentará reparar su automóvil o digamos una parte determinada de su automóvil. Aquí usted es el usuario y no desea acceder a las funciones de su máquina o qué parte de ella está realmente rota. Realmente no te importan esas cosas; Solo desea que su automóvil vuelva a su estado original sin preocuparse por los detalles. Entonces, en realidad le ha dicho al mecánico lo que quiere hacer al aislar la parte de cumplimiento. Esto es abstracto Te enfocaste en lo más importante para arreglar tu auto, no en tus características.

Diferencia entre abstracción y encapsulación

¿Qué es la encapsulación?

La encapsulación es otro concepto de OOP que combina datos y funciones en una parte y limita el acceso a ciertas partes. Es uno de los conceptos básicos de OOP que combina datos e información en una unidad. Desde un punto de vista técnico, la encapsulación implica ocultar atributos que protegen los atributos del acceso externo para que los cambios en una parte del programa no afecten a los otros componentes. Por el contrario, al hacer que los datos sean más transparentes, corre el riesgo de mal uso. Proporciona integridad básica al proteger los datos del mundo exterior. En pocas palabras, oculta detalles adicionales del mundo exterior.

Tome el ejemplo de un mouse Bluetooth. Solo necesita saber qué tipo de mouse es el sensor, si es inalámbrico o no, como el funcionamiento del dispositivo, sin preocuparse por los detalles de la implementación. Cada detalle caracteriza al mouse, pero a pesar de los detalles, es solo el mouse. Solo necesita la interfaz para usar el mouse, en este caso el puntero del mouse. Es una cápsula.

Diferencia entre abstracción y encapsulación

Aunque ambos son conceptos fundamentales relacionados con la POO y están técnicamente entrelazados, tienen muchas diferencias.

  1. Diferencias de "definición" de abstracción y encapsulación: la abstracción es un concepto clave de OOP y enfatiza todos los aspectos importantes de un objeto al ocultar detalles insignificantes para aumentar la eficiencia y eliminar la complejidad. A su vez, la encapsulación es un mecanismo para ocultar información y colocar información y datos en una cápsula para restringir el acceso al mundo exterior. Diferencias en la "Funcionalidad" de la abstracción y la encapsulación: la abstracción es un mecanismo para ocultar información que enfatiza solo las características esenciales para simplificar aplicaciones complejas y, por otro lado, una forma de vincular datos y códigos a un solo objeto. La idea es proteger los detalles de implementación del acceso externo. Diferencias entre abstracción y encapsulación: la abstracción se realiza mediante una clase abstracta y una interfaz, y la encapsulación con modificadores de entrada. Se utilizan cinco modificadores diferentes para encapsular datos: privado, público, interno, protegido y protegido internamente. Las diferencias dentro del "concepto" de abstracción y encapsulación son lo que se centra en lo que no es la idea de abstracción. La encapsulación oculta su mecánica interna. Por ejemplo, cuando conduce un automóvil, sabe exactamente lo que está haciendo el pedal del freno, pero es posible que no conozca su mecanismo por completo porque los datos están volcados. Diferenciación de "abstracción" y "encapsulación": tomemos un teléfono inteligente como ejemplo. Sabes lo que está haciendo, pero es posible que no sepas cómo lo hace. No solo le interesan sus circuitos internos, también le interesan la pantalla y las teclas del teclado. Aquí el teléfono inteligente es abstracto y cubre los detalles de la implementación interna.

Tabla comparativa y resumen

Resumen

Aunque ambos son conceptos OOP relacionados con la ocultación de datos, son muy diferentes entre sí. La abstracción también se aplica a la ocultación, como la encapsulación, pero la primera oculta la complejidad mientras que la otra controla el acceso y almacena la información que contiene. La abstracción es el concepto de mostrar solo las características necesarias al ocultar detalles insignificantes para reducir la complejidad de una aplicación. A su vez, la encapsulación significa el concepto de ocultar toda la mecánica interna del programa para proteger los datos del acceso no deseado. Limita el acceso a otros componentes y combina datos y datos en un solo componente.

Referencias

  • Comprar. Programación orientada a objetos con Java: conceptos básicos y aplicaciones. Nueva York: Tata McGraw-Hill Education, 2009. Imprimir
  • McConnell, Steve. Código completado (2ª edición). Londres: Pearson Education, 2004. Imprimir
  • Michelsen, Klaus. C # Primer Plus. Indianápolis: Sams Publishing, 2002. Imprimir
  • "Crédito de imagen: https://stackoverflow.com/questions/742341/difference-between-abstraction-and-encapsulation"