ABC e classes abstratas
Classes abstratas são um conceito fundamental no design orientado a objetos que estabelece contratos entre classes. Diferentemente das classes concretas, que podem ser instanciadas diretamente, as classes abstratas servem como modelos para outras classes, definindo uma interface que as subclasses devem implementar.