public boolean transfere(double valor, Conta destino){ if(this.saca(valor)){ destino.deposita(valor); return true; } return false; }
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
public boolean transfere(double valor, Conta destino){ if(this.saca(valor)){ destino.deposita(valor); return true; } return false; }
public boolean transfere(double valor, Conta destino) {
if(this.saca(valor)) {
destino.deposita(valor);
return true;
}
return false;
}Ex.: De como fica o código usando o "inserir código"
Bom pelo que eu entendi, SIM.
Corrija-me se eu estiver errado. No this.saca(valor), vc já está retirando o montante da "conta de origem", ou seja, aquela que chamou o transfere(...) ?. Então caso tenha sucesso irá então entrar no if do trecho que vc mandou acima.
PS: Tem um botão "inserir codigo", quando está criando um novo tópico tente usar ele e deixar o código indentado da próxima vez
A lógica é essa mesma, só que acredito que para ficar mais elegante deveríamos colocar o else, no "return false". se eu estiver errado me corrijam.
Eu particularmente acho bem desnecessário nesse caso. Pois acho bem mais simples de ler o código acima (Ao meu ver fica mais "limpo o código" e não atrapalha no entendimento caso outro programador vá ler).
Do que acrescentar 2 linhas da forma que está abaixo.
public boolean transfere(double valor, Conta destino) {
if(this.saca(valor)) {
destino.deposita(valor);
return true;
} else {
return false;
}
}Acho que fica ate meio redundante, pois sabe-se que o código embaixo do IF, somente será executado, SENÃO chegar na linha do "return true";
Já que se chegar na linha de algum RETURN, que esteja dentro do método, o mesmo irá "parar" ali.