Clase Abstracta: Definición del Término

Es una clase que deja parte de sí misma sin especificar, lo que obliga que exista una clase secundaria que la implemente.

En los lenguajes de programación, una clase abstracta es una clase genérica (o tipo de objeto) que se utiliza como base para crear objetos específicos que se ajusten a su protocolo o al conjunto de operaciones que admite.

Una clase abstracta, en el contexto de Java, es una superclase que no se puede instanciar y se usa para establecer o definir características generales.

No se puede formar un objeto a partir de una clase abstracta de Java; intentar instanciar una clase abstracta solo produce un error de compilación. La clase abstracta se declara utilizando la palabra clave resumen.

Las subclases extendidas de una clase abstracta tienen todos los atributos de la clase abstracta, además de los atributos específicos de cada subclase.

La clase abstracta establece las características de la clase y los métodos de implementación, definiendo así una interfaz completa.

Las clases abstractas son útiles cuando se crean jerarquías de clases que modelan la realidad porque permiten especificar un nivel invariable de funcionalidad en algunos métodos, pero dejan la implementación de otros métodos hasta que se necesita una implementación específica de esa clase (una clase derivada).

En los lenguajes de programación orientada a objetos (POO), las clases representan objetos en el dominio del problema que el software pretende resolver.

Las clases incluyen colecciones de atributos (propiedades) y comportamientos (métodos), que pueden basarse en clases definidas previamente.

Los programadores usan la herencia para derivar la implementación específica de clases abstractas. Las clases que se derivan de clases abstractas se denominan clases derivadas.

Cuando este principio se aplica muchas veces seguidas, da como resultado una jerarquía de clases.

En este contexto, las clases abstractas están en la raíz de esta jerarquía y se utilizan para aplicar métodos que deben anularse en las clases derivadas, evitando así posibles errores de tiempo de ejecución.

Las clases abstractas sirven como plantillas para sus subclases. Por ejemplo, la clase abstracta Tree y la subclase Banyan_Tree tienen todas las características de un árbol, además de características que son específicas del árbol banyan.

Comprender las diferencias entre una clase abstracta y una interfaz es esencial.

Una interfaz solo tiene declaraciones de métodos o métodos abstractos y miembros de datos constantes, mientras que una clase abstracta puede tener métodos abstractos, variables miembro y métodos concretos. Debido a que Java solo admite herencia simple, una clase puede implementar varias interfaces pero puede extender solo una clase abstracta.

Una clase abstracta tiene al menos un método abstracto. Un método abstracto no tendrá ningún código en la clase base; el código se agregará en sus clases derivadas.

El método abstracto en la clase derivada debe implementarse con el mismo modificador de acceso, número y tipo de argumento y con el mismo tipo de retorno que el de la clase base. No se pueden crear objetos de tipo de clase abstracta porque el código para instanciar un objeto de tipo de clase abstracta dará como resultado un error de compilación.

? Regresar al Diccionario Tecnológico

Otros Diccionarios

⚙ Diccionario de Interfaces de Programación? Diccionario de Tecnologías de Python

Relacionado

❌ React Native, crear aplicación como Netflix con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. FlatList Horizontal 2. Componente Swiper 3. Menú Animado y Header 4. FlatList Grid 5. Más Flexbox, Tabs y Linear gradiantes 6. Reproductor de Vídeo 7. Share API 8. Animatable Header y NativeEvents 9. React Navigation 10. Header Múltiple con Animated 11. Modal con React Navigation 12. React Navigation con Redux 13. Servidor NodeJS con MongoDB para React Native 14. Conectando ¡SEGUIR LEYENDO!

❌ React Native con Mario Díez

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Instalación 2. Introducción 3. Props y State 4. Fetch Data 5. ListView 6. Fech Data 2 7. Navigator IOS 8. Navigator 9. Flexbox 10. PropTypes 11. TabBarIOS 12. Formularios 13. AsyncStorage 14. Recorriendo Arrays con Map 15. Notificaciones Push 16. Notificaciones Push desde NodeJS 17. Barra de Búsqueda en ListView 18. Utilización de CameraRoll 19. Children o Props 20. Diferenciar ¡SEGUIR LEYENDO!

❌ React Native con Iván B. Trujillo

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Primeros Pasos 2. Componentes, Botones y Alertas 3. Pantalla de Login, Navegador y Vistas 4. Navegación por Pestañas 5. Peticiones a API y ListView 6. Vista Detalles y Paso de Propiedades a Componente Hijo [/expand] [yotuwp type="playlist" id="PLuzQ5Ac_9_cI-ukaElfIFKXyhLsADBiJe" ] [expand title="Creador"] Editor del blog de Medium: Canarias JS [/expand]

❌ Javascript con Píldoras Informáticas

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Presentación. Vídeo 1 2. Introducción. Vídeo 2 3. Sintaxis Básica I. Ubicación del código. Vídeo 3 4. Sintaxis Básica II. Estructuras Básicas. Vídeo 4 5. Sintaxis Básica III. Operadores Básicos. Vídeo 5 6. Sintaxis Básica IV. Operadores y prompt. Vídeo 6 7. Sintaxis Básica V Arrays, Matrices, Arreglos. Vídeo 7 8. Sintaxis Básica V. Arrays, Matrices, Arreglos II. Vídeo 8 ¡SEGUIR LEYENDO!

❌ Javascript con Falcon Masters

[no_toc] [expand title="Índice del Vídeotutorial"] 1. Introducción 2. Variables 3. Tipos de Dato 4. Arreglos 5. Metodos y propiedades para los Arreglos 6. Condicionales 7. Ciclo Fo 8. Ciclo While 9. Funciones 10. Ejercicio con Funciones y Formularios 11. Scope de Javascript (ámbito de las variables) 12. Metodos y propiedades para Cadenas de Texto 13. Introducción al DOM (Document Object Model) 14. Creando Nodos del DOM ¡SEGUIR LEYENDO!

Salir de la versión móvil