Tabla de contenido:
Definición - ¿Qué significa clase abstracta?
En los lenguajes de programación, una clase abstracta es una clase genérica (o tipo de objeto) utilizada como base para crear objetos específicos que se ajustan a su protocolo o al conjunto de operaciones que admite. Las clases abstractas no se instancian directamente.
Las clases abstractas son útiles al crear 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).
Techopedia explica la clase abstracta
En los lenguajes de programación orientada a objetos (OOP), 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 previamente definidas. Los programadores usan la herencia para derivar la implementación específica de clases abstractas. Las clases derivadas 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 imponer métodos que deben ser anulados en las clases derivadas, evitando así posibles errores de tiempo de ejecución.
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 del tipo de clase abstracta dará como resultado un error de compilación.