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; }
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.