Una clase abstracta es una clase de la que no se puede crear una instancia directamente. Puede contener métodos abstractos (declarados sin cuerpo) que las subclases deben implementar, así como métodos concretos compartidos por todas las subclases. Las clases abstractas se encuentran entre una clase completamente concreta y una interfaz.
Declaración de clases y métodos abstractos