Definición - ¿Qué significa clase abstracta?
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 ajustan a su protocolo o al conjunto de operaciones que admite. Las clases abstractas no se instancian directamente.
Las clases abstractas son útiles cuando se crean jerarquías de clases que modelan la realidad porque permiten especificar un nivel invariante 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).
Techinfo 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 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 hacer cumplir los métodos que deben anularse en las clases derivadas, evitando así posibles errores en 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 de tipo de clase abstracta dará como resultado un error de compilación.