1
resposta

Criando o metodo de Transferencia entre contas

Olá Prof, antes de você ensinar a criar o método de transferir eu já havia feito dessa maneira e funcionou também... Eu criei passando por parametros o valor da transferencia e a conta de destino, mas eu fiz direto pelo valor do saldo ao invés de chamar os metodos de sac ou depos.

É ruim esse modelo, ou você apenas criou por metodos para mostrar a possibilidade?

def transfere(self, valor, contaDestino):
    self.__saldo-= valor
    contaDestino.__saldo += valor
*  from conta import Contas
*  conta1 = Conta(123,"maite",100, 1000)
*  Construindo um objeto <conta.Conta object at 0x000001AC795886A0>
*  conta2 = Conta(543, "nico", 10, 100)
*  Construindo um objeto <conta.Conta object at 0x000001AC79588E50>
*  conta1.transfere(30, conta2)
*  conta1.extrato()
*  Saldo de 70 do titular maite 
*  conta2.extrato()
*  Saldo de 40 do titular nico 
*

;)

1 resposta

Olá Maite, como você está?

Peço desculpas pela demora em lhe responder.

Não é errado da forma como você demonstrou, está certo. O instrutor optou por criar mais métodos como saca e deposita para demonstrar a importância de particionar o código em métodos, onde cada um é responsável por um propósito. Essa quebra de responsabilidades é útil para reuso de código em outras operações e também auxilia na legibilidade do código.

No cenário de uma conta de banco, outro método que poderíamos ter é o de pagamento, onde um valor é retirado da nossa conta e depositado na conta do credor, por serem métodos que possuem funcionamento semelhantes (retiro um valor de uma conta e envio para outra) não é necessário fazermos a operação utilizando a operação saldo -= valor, podemos fazer o uso dos métodos sacar e depositar esses métodos serão chamados dentro do método pagamento.

    def pagamento(self, valor, conta_credor):
        self.saca(valor)
        conta_credor.deposita(valor)

Qualquer dúvida me coloco à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!