¿Qué es la abstracción en los POO? Clase abstracta de Java & Método

¿Qué es la abstracción en POO?

La abstracción es el concepto de programación orientada a objetos que "muestra" solo atributos esenciales y "oculta" información innecesaria. El objetivo principal de la abstracción es ocultar los detalles innecesarios a los usuarios. La abstracción es seleccionar datos de un grupo más grande para mostrar solo los detalles relevantes del objeto al usuario. Ayuda a reducir la complejidad y los esfuerzos de la programación. Es uno de los conceptos más importantes de los POO.

Haga clic aquí si el video no es accesible

Estudiemos la abstracción en OOP con un ejemplo:

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

Abstracción en Java

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

Por lo tanto, debe seleccionar solo la información útil para su aplicación bancaria de ese grupo. Los datos como el nombre, la dirección, la información fiscal, etc.tienen sentido para una aplicación bancaria que es un ejemplo de abstracción en OOP

Dado que hemos obtenido / eliminado / seleccionado la información del cliente de un grupo más grande, el proceso se conoce como Abstracción en OOP.

Sin embargo, la misma información una vez extraída se puede utilizar para una amplia gama de aplicaciones. Por ejemplo, puede utilizar los mismos datos para una solicitud de hospital, una solicitud de portal de empleo, una base de datos del gobierno, etc. con poca o ninguna modificación. Por lo tanto, se convierte en sus datos maestros. Esta es una ventaja de la abstracción en los POO.

Diferencia entre abstracción y encapsulación

Abstracción Encapsulamiento
La abstracción en la programación orientada a objetos resuelve los problemas a nivel de diseño. La encapsulación lo resuelve a nivel de implementación.
La abstracción en la programación se trata de ocultar detalles no deseados mientras se muestra la información más esencial. La encapsulación significa vincular el código y los datos en una sola unidad.
La abstracción de datos en Java 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. Soporta múltiples herencias.
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 abstractos y protegidos. Una interfaz solo puede tener métodos abstractos públicos.
Una clase abstracta puede tener una variable final estática, estática o final con cualquier especificador de acceso. La interfaz solo puede tener una variable final estática pública.

¿Qué es la clase abstracta?

Abstract Class es un tipo de clase en POO, que declara uno o más métodos abstractos. Estas clases pueden tener métodos tanto abstractos como concretos. Una clase normal no puede tener métodos abstractos. Una clase abstracta es una clase que contiene al menos un método abstracto.

¿Qué son los métodos abstractos?

El método abstracto es un método que solo tiene la definición del método, pero no contiene la implementación. Un método sin cuerpo se conoce como método abstracto. Debe declararse en una clase abstracta. El método abstracto nunca será definitivo porque la clase abstracta debe implementar todos los métodos abstractos.

Ventajas de la abstracción

  • El principal beneficio de usar una abstracción en la programación es que le permite agrupar varias clases relacionadas como hermanos.
  • La abstracción en la programación orientada a objetos ayuda a reducir la complejidad del proceso de diseño e implementación del software.

¿Cuándo usar métodos abstractos y clase abstracta?

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 abstracta y ofrece diferentes implementaciones de los métodos abstractos.

Las clases abstractas ayudan a describir tipos genéricos de comportamientos y 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 en la programació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 la abstracción de datos en Java, el mismo conjunto de datos podría usarse en diferentes aplicaciones.

Articulos interesantes...