Olá! Tudo bem?
O @abstractmethod é usado para garantir que qualquer classe que herde de uma classe base abstrata implemente métodos específicos. No seu caso, se a classe ItemCardapio possui um método abstrato aplicar_desconto, todas as subclasses (como Bebida e Prato) devem implementar este método para que possam ser instanciadas.
Se o seu código funcionou sem erros, mesmo sem implementar o método aplicar_desconto nas subclasses, é possível que o @abstractmethod não tenha sido aplicado corretamente. Aqui estão algumas possibilidades do que pode ter acontecido:
Esquecimento de Herança da ABC: Certifique-se de que a classe ItemCardapio está herdando de ABC (ou seja, class ItemCardapio(ABC):). Sem isso, o @abstractmethod não funcionará como esperado.
Falta do Decorador: Verifique se o decorador @abstractmethod foi corretamente colocado acima do método aplicar_desconto na classe ItemCardapio.
Mas para te apresentar uma solução mais consolidada, precisarei que compartilhe o seu projeto para que eu teste.
No mais, espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.