¿Qué es la abstracción en OOP? Método y clase abstracta de Java
¿Qué es la abstracción en POO?
Abstracción es el concepto de programación orientada a objetos que “muestra” solo los 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 programación. Es uno de los conceptos más importantes de los OOP.
Haga clic aquí si no se puede acceder al video
Estudiemos la abstracción en programación orientada a objetos 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
Sin embargo, no se requiere 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 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 usar los mismos datos para la aplicación del hospital, la aplicación del 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 OOP.
Diferencia entre Abstracción y Encapsulación
Abstracción | Encapsulación |
---|---|
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. | 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 | 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 tanto abstractos como 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 protegidos y abstractos. | Una interfaz solo puede tener métodos abstractos públicos. |
Una clase abstracta puede tener una variable final, estática o final estática con cualquier especificador de acceso. | La interfaz solo puede tener una variable final estática pública. |
¿Qué es la clase abstracta?
Clase abstracta es un tipo de clase en OOPs, que declara uno o más métodos abstractos. Estas clases pueden tener métodos abstractos así como métodos 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?
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 Programación es que le permite agrupar varias clases relacionadas como hermanas.
- 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 clases abstractas?
Los métodos abstractos se declaran principalmente donde 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 Abstract 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 Data Abstraction en Java, el mismo conjunto de datos podría usarse en diferentes aplicaciones.
Java
- Clase y método abstractos de C#
- Palabra clave final de Java
- Operador de instancia de Java
- Clase abstracta de Java y métodos abstractos
- Clase anónima de Java
- Clase Java ObjectOutputStream
- Genéricos de Java
- Clase de archivo Java
- Tutorial de clase abstracta de C# con ejemplo:¿Qué es la abstracción?
- Variable estática en Java:¿Qué es el bloque estático y el método? [Ejemplo]
- Interfaz vs clase abstracta en Java:¿cuál es la diferencia?