1
resposta

Mão na massa: refatorando uma função

from modelos.cardapio.item_cardapio import ItemCardapio

class Sobremesa(ItemCardapio):
    def __init__(self, nome, preco, tipo, tamanho, descricao):
        super().__init__(nome, preco)
        self.tipo = tipo
        self.tamanho = tamanho
        self.descricao = descricao

    def __str__(self):
        return self._nome
    
    def aplicar_desconto(self):
        return self._preco - (self._preco * 0.15)

sobremesa.py do exercicio Mão na massa: refatorando uma função

1 resposta

Oi, Carlos! Como vai?

É muito enriquecedor ver como você organizou a classe Sobremesa com herança utilizando ItemCardapio. O uso correto do from modelos.cardapio.item_cardapio para importar a classe base mostra que você está no caminho certo.

Gostei também da forma como você estruturou o método __init__ recebendo os parâmetros nome, preco, tamanho e descricao, e de como utilizou self para acessar o atributo _preco dentro do método aplicar_desconto. Essa organização deixa o código bem claro e alinhado com o conceito de polimorfismo visto na atividade.

Uma dica interessante para o futuro é utilizar o método round() para limitar casas decimais em valores monetários. Veja este exemplo:


valor_com_desconto = round(self._preco * 0.85, 2)
print(valor_com_desconto)

Perceba que, em vez de subtrair a porcentagem diretamente, como no seu def aplicar_desconto original, multiplicamos o valor por 0.85 diretamente, o que representa o mesmo desconto de 15% de forma mais direta. O return do método fica mais limpo, e o round() garante que o valor exibido tenha apenas duas casas decimais, facilitando a exibição de preços no sistema.

Esse tipo de ajuste pequeno faz grande diferença quando o projeto cresce e precisa exibir valores monetários de forma consistente para o usuário.

Você já pensou em como poderia sobrescrever o método __str__ para exibir também o preco e a descricao formatados, tornando a saída da classe Sobremesa ainda mais informativa?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!