Clase abstracta
Clase que no puede instanciarse directamente, solo heredarse. Define una implementación parcial con algunos métodos que las subclases están obligadas a implementar.
Se distingue de una interfaz: una clase abstracta puede tener campos e implementación parcial; una interfaz solo contiene firmas de métodos. En Java, abstract class + abstract method; en C++, funciones virtuales puras = 0; en Python, ABC + @abstractmethod. Rust no tiene herencia en absoluto: usa traits en su lugar.