¿Qué es abstracción en OOPs? Aprende con el ejemplo de Java

¿Qué es Abstracción en OOP?

La abstracción consiste en seleccionar datos de un conjunto más grande para mostrar solo los detalles relevantes del objeto. Ayuda a reducir la complejidad y el esfuerzo de programación. En Java, la abstracción se logra usando clases e interfaces abstractas. Es uno de los conceptos más importantes de OOPs.

Vamos a estudiar el concepto de abstracción con un ejemplo

Supongamos que desea crear una aplicación bancaria y se le pide que recopile toda la información sobre su cliente. Hay posibilidades de que se te ocurra la siguiente información sobre el cliente

Pero no toda la información anterior para crear una aplicación bancaria.

Por lo tanto, debe seleccionar solo la información útil para su aplicación bancaria de ese grupo. Datos como nombre, dirección, información fiscal, etc. tienen sentido para una aplicación bancaria

Como hemos obtenido / eliminado / seleccionado la información del cliente de un grupo mayor, el proceso se denomina Abstracción.

Sin embargo, la misma información una vez extraída se puede utilizar para una amplia gama de aplicaciones. Por ejemplo, puede usar los mismos datos para la aplicación del hospital, la aplicación del portal de trabajo, una base de datos del gobierno, etc. con poca o ninguna modificación. Por lo tanto, se convierte en tu Datos Maestros. Esta es una ventaja de la Abstracción.

¿Cómo lograr la abstracción?

En un nivel superior, Abstracción es un proceso de ocultar los detalles de implementación y mostrar solo la funcionalidad para el usuario. Solo indica cosas importantes para el usuario y oculta los detalles internos, es decir. Mientras envía SMS, simplemente escriba el texto y envíe el mensaje. Aquí, no le importa el procesamiento interno de la entrega del mensaje. La abstracción se puede lograr utilizando la clase abstracta y el método abstracto en Java.

Clase abstracta

Una clase que se declara “abstracta” se llama como una clase abstracta. Puede tener métodos abstractos y métodos concretos. Una clase normal no puede tener métodos abstractos.

Método abstracto

Un método sin cuerpo se conoce como Método abstracto. Debe ser declarado en una clase abstracta. El método abstracto nunca será definitivo porque la clase abstracta debe implementar todos los métodos abstractos.

Reglas del método abstracto

  • Los métodos abstractos no tienen una implementación; solo tiene firma de método
  • Si una clase usa un método abstracto, debe declararse abstracto. Lo opuesto no puede ser cierto. Esto significa que una clase abstracta no necesariamente tiene un método abstracto.
  • Si una clase regular extiende una clase abstracta, entonces esa clase debe implementar todos los métodos abstractos del padre abstracto

Diferencia entre abstracción y encapsulación

Abstracción Encapsulación
La abstracción resuelve los problemas en el nivel de diseño. La encapsulación lo resuelve a nivel de implementación.
La abstracción consiste en ocultar detalles no deseados mientras se muestra la información más esencial. La encapsulación significa ocultar el código y los datos en una sola unidad.
La abstracción permite centrarse en lo que debe contener el objeto de información La encapsulación significa ocultar los detalles internos o la mecánica de cómo un objeto hace algo por razones de seguridad.

Diferencia entre clase abstracta e interfaz

Clase abstracta Interfaz
Una clase abstracta puede tener métodos abstractos y no abstractos. La interfaz solo puede tener métodos abstractos.
No admite herencias múltiples. Es compatible con herencias múltiples.
Puede proporcionar la implementación de la interfaz. No puede proporcionar la implementación de la clase abstracta.
Una clase abstracta puede tener métodos públicos protegidos y abstractos. Una interfaz solo puede tener métodos abstractos públicos.
Una clase abstracta puede tener una variable final, estática o estática con cualquier especificador de acceso. La interfaz solo puede tener una variable final estática pública.

Ventajas de la abstracción

  • El principal beneficio de usar una clase abstracta es que te permite agrupar varias clases relacionadas como hermanos.
  • La abstracción ayuda a reducir la complejidad del diseño y el proceso de implementación del software.

¿Cuándo usar Abstract Methods & Abstract Class?

Los métodos abstractos se declaran principalmente cuando dos o más subclases también hacen lo mismo de diferentes maneras a través de diferentes implementaciones. También extiende la misma clase de Resumen y ofrece diferentes implementaciones de los métodos abstractos.

Las clases abstractas ayudan a describir los tipos genéricos de comportamientos y la jerarquía de clases de programación orientada a objetos. También describe subclases para ofrecer detalles de implementación de la clase abstracta.

Resumen:

  • La abstracción es el proceso de seleccionar conjuntos de datos importantes para un Objeto en su software y omitir los insignificantes.
  • Una vez que haya modelado su objeto usando Abstraction, se podría usar el mismo conjunto de datos en diferentes aplicaciones.
  • Java, la abstracción se logra utilizando clases e interfaces abstractas. Estudiaremos en detalle acerca de las clases abstractas y las interfaces en otros tutoriales.

 

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *