1
resposta

[Sugestão] Mão na massa

Não estava aparecendo o tipo o tamanho e a descrição da sobremesa então eu mudei um pouco a property exibir_cardapio():

@property
    def exibir_cardapio(self):
        print(f'Cardapio do restaurante {self._nome}\n')
        for i,item in enumerate(self._cardapio,start=1):
            if hasattr(item,'_descricao'):
                if isinstance(item, Sobremesa):
                    mensagem_sobremesa = f'{i}. Nome: {item._nome} | Preço: R${item._preco} | Tipo: {item._tipo} | Tamanho: {item._tamanho} | Descrição: {item._descricao}'
                    print(mensagem_sobremesa)
                else:
                    mensagem_prato = f'{i}. Nome: {item._nome} | Preço: R${item._preco} | Descrição: {item._descricao}'
                    print(mensagem_prato)
            else:
                mensagem_bebida = f'{i}. Nome: {item._nome} | Preço: R${item._preco} | Tamanho: {item._tamanho}'
                print(mensagem_bebida)
1 resposta

Olá, Raphael. Tudo bem?

Obrigado por compartilhar seu código com a gente.

Muito bom como você utilizou a lógica com hasattr e isinstance para verificar atributos e tipos específicos dos objetos. Isso demonstra um bom entendimento sobre Polimorfismo e a aplicação de métodos abstratos em Python. Parabéns pela dedicação.

Conte com o apoio do Fórum. Abraços e bons estudos!