Tenho os seguinte código:
Classe Conta:
public abstract class Conta {
private int ID;
private String nome;
private double saldo;
abstract double getSaldoAposDeposito();
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public double getSaldo() {
return saldo;
}
public double setSaldo(double saldo) {
return this.saldo = saldo;
}
//toString
public String toString(){
return "Esse objeto e uma conta com saldo R$" +this.saldo;
}
public boolean equals(Object obj){
Conta outraConta = (Conta) obj;
return this.ID == outraConta.ID;
}
}
Classe ContaCorrente
public class ContaCorrente extends Conta{
public double saldoAposDeposito;
public double deposita;
public double valorASerDepositado(double valorDeposito){
return this.deposita = valorDeposito;
}
public double getSaldoAposDeposito() {
this.saldoAposDeposito = deposita + getSaldo() ;
return saldoAposDeposito;
}
}
Classe TestaConta
public class TestaConta{
public static void main(String[] args) {
Conta cc1 = new ContaCorrente(); //possui os atrributos saldo, ID e nome
Conta cc2 = new ContaCorrente();
ContaCorrente cc1Operacoes = new ContaCorrente();
ContaCorrente cc2Operacoes = new ContaCorrente();
/*
* ID, nome e salso são atributos de Conta que é abstract
* deposita atributos de Conta Corrente
* O método "valorASerDepositado(double valorDeposito)" é obrigatório na classe filha ContaCorrente que extends de Conta, que é abstract
*/
cc1.setID(1);
cc1.setNome("Paulo");
cc1.setSaldo(100);
cc1Operacoes.valorASerDepositado(150);
System.out.println("ID: " +cc1.getID()+ " O valor do saldo de "+cc1.getNome()+" na conta corrente é "+cc1.getSaldo()+" apos o deposito de " +cc1Operacoes.deposita+ " será de "+cc1Operacoes.getSaldoAposDeposito());
//outros dados apontados.
cc2.setID(2);
cc2.setNome("Joao");
cc2.setSaldo(10);
cc2Operacoes.valorASerDepositado(1000);
System.out.println("ID: " +cc2.getID()+ " O valor do saldo de "+cc2.getNome()+" na conta corrente é "+cc2.getSaldo()+" apos o deposito de " +cc2Operacoes.deposita+ " será de "+cc2Operacoes.getSaldoAposDeposito());
//
System.out.println(cc1);
//reescrevendo o metodo toString
System.out.println(cc1);
}
}
O resultado para TestaConta foi:
ID: 1 O valor do saldo de Paulo na conta corrente é 100.0 apos o deposito de 150.0 será de 150.0
ID: 2 O valor do saldo de Joao na conta corrente é 10.0 apos o deposito de 1000.0 será de 1000.0
Esse objeto e uma conta com saldo R$100.0
Esse objeto e uma conta com saldo R$100.0
Dúvida: Porque não estou conseguindo imprimir o saldo total após o deposito, ou seja, onde se lê "apos o deposito de 150.0 será de 150.0" deveria ser "apos o deposito de 150.0 será de 250.0"