Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida: Boas práticas na utilização de método e atributos

Dúvida 1: Dentro do metódo transferir_dinheiro, gostaria de imprimir o saldo da conta origem, após a transferência.

Para esse cenário, qual seria a forma correta para imprimir o saldo?

  • Utilizar o atributo self_.saldo e guardar na variável seu_saldo?
    • seu_saldo = self.__saldo
  • Utilizar um método self.imprimir_extrato() e guardar o valor na variável seu_saldo?
    • seu_saldo = self.imprimir_extrato()

Método transferir_dinheiro

 def transferir_dinheiro (self, valor, conta_destino):
        self.sacar_dinheiro(valor)
        conta_destino.depositar_dinheiro(valor)

Método imprimir_extrato

    def imprimir_extrato (self):
        print("Olá {}, seu saldo é de {}". format(self.__titular, self.__saldo))

Dúvida 2: O que seria correto, utilizar variável ou atributo, para imprimir o saldo dentro do método transferir_dinheiro?

  • Através de variável:

    • print("Saldo em conta: {}.".format(seu_saldo))
  • Através do atributo:

    • print("Saldo em conta: {}.".format(self.__saldo))
2 respostas
solução!

Oiii Thiago, tudo bem?

Vamos por partes:

  • Dúvida 1

Neste caso, pensando mais a fundo em reutilização de código, você poderia utilizar o método self.imprimir_extrato() . Pois, imagine que você tenha um outro método e antes de realizar alguma ação você também queira mostrar o saldo atual, então bastaria você chamar o método self.imprimir_extrato().

  • Dúvida 2

Uma coisa que me chamou a atenção em uma das abordagens que você apresentou, foi o fato de utilizar a variável auxiliar seu_saldo para guardar o valor de self.__saldo, não é necessário, tudo bem? Isso porque você está dentro da classe, então tudo bem você utilizar diretamente o self.__saldo. O que não é recomendado é você chamar esse atributo de forma direta fora da classe.

Porém, caso fique mais claro para você utilizar uma variável auxiliar dentro da classe, tudo bem, mas não é algo comum de se ver. Então, recomendo que utilize:

print("Saldo em conta: {}.".format(self.__saldo))

Qualquer dúvida é só falar, estou a disposição. Abraços e bons estudos!

Maneiro, muito obrigado pela explicação. =)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software