2
respostas

Na verdade não executa o método mais especifico

bom dia galera. gostaria de saber se meu raciocínio está correto.

neste código public class TesteContas {

public static void main(String[] args) {

    ContaCorrente cc = new ContaCorrente(111, 111);

    cc.deposita(100.0);

    ContaPoupanca cp = new ContaPoupanca(222, 222);

    cp.deposita(200.0);

    cc.transfere(10.0, cp);

    System.out.println("Cc: " + cc.getSaldo());
    System.out.println("CP: " + cp.getSaldo());

}

}

quando chama o método transfere vc vai pra esse código

public boolean transfere(double valor, Conta destino) {

if (this.saca(valor)) {

destino.deposita(valor);

            return true;
        }
        return false;
    }

O this dentro do if é relativo a referencia da classe conta corrente, então dentro do if está chamando a função saca da conta corrente, é feito o codigo da função e o retorno esta chamando a função saca da referencia conta. O processo total das linhas de código estão acontecendo de modo linear e não por alguma regra de método mais específico.

Isso procede?

2 respostas

Não entendi sua dúvida: "O processo total das linhas de código estão acontecendo de modo linear e não por alguma regra de método mais específico."

Boa noite, Rudy! Como vai?

Como está o código da sua classe ContaCorrente? Vc poderia colá-lo aqui para que a gente possa dar uma olhada e tentar te ajudar?

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

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