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 ✓.