1
resposta

[Projeto] [Mão na massa]

Segue a classe Sobre Mesa

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 f'{self._nome} | {self.tipo} | {self.tamanho} | {self._preco}'

    def aplicar_desconto(self):
        pass
1 resposta

Boa tarde, Leandro! Tudo bem com você?

Você fez um bom trabalho ao criar a classe Sobremesa. No entanto, gostaria de fazer algumas sugestões para melhorar a legibilidade e funcionalidade do seu código.

  1. Atributos Privados e Públicos:

    • Note que você está utilizando _tipo, _tamanho e _descricao como atributos privados, mas no método __str__ você está acessando self.tipo e self.tamanho diretamente. Para manter a consistência, você pode alterar para acessar os atributos privados ou criar propriedades para eles. Segue uma versão ajustada da sua classe Sobremesa:

      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 f'{self._nome} | {self._tipo} | {self._tamanho} | {self._preco}'
      
          def aplicar_desconto(self):
              pass
      
  2. Herança do Método aplicar_desconto:

    • Como o método aplicar_desconto está presente na classe ItemCardapio, ele será herdado automaticamente pela classe Sobremesa. Se você não precisar de uma implementação específica para Sobremesa, pode deixar o método como está.

Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado