Bom dia, estou encucado com este código, não entendendo o porque que na saída só me retorna o saldo da conta corrente, sendo que as outras contas (c e cp) tbm estão sendo depositados 1000??
class Conta{
protected double saldo;
Conta(){
}
Conta(double saldo){
this.saldo = saldo;
}
public double getSaldo(){
return this.saldo;
}
public void deposita(double valor){
this.saldo = this.saldo + saldo;
}
public void saca(double valor){
this.saldo -= valor;
}
public void atualiza(double taxa){
this.saldo += this.saldo * taxa;
}
}
class ContaCorrente extends Conta{
ContaCorrente(){
}
ContaCorrente(double saldo){
super.saldo = saldo;
}
public void atualiza(double taxa){
this.saldo += this.saldo * taxa * 2;
}
public void deposita(double valor){
this.saldo += valor;
this.saldo -= 0.10;
}
}
class ContaPoupanca extends Conta{
ContaPoupanca(){
}
ContaPoupanca(double saldo){
this.saldo = saldo;
}
public void atualiza(double taxa){
this.saldo += this.saldo * taxa * 3;
}
}
class TestaContas{
public static void main(String[] args){
Conta c = new Conta();
ContaCorrente cc = new ContaCorrente();
ContaPoupanca cp = new ContaPoupanca();
c.deposita(1000);
cc.deposita(1000);
cp.deposita(1000);
c.atualiza(0.01);
cc.atualiza(0.01);
cp.atualiza(0.01);
System.out.println(c.getSaldo());
System.out.println(cc.getSaldo());
System.out.println(cp.getSaldo());
}
}
No terminal minha saída está assim:
0.0
1019.898
0.0
Uma vez que tem deposito para c, cc e cp. Por que só em cc está calculando ?? Obs.: a saída deveria ser:
1010
1019.898
1030
para c,cc e cp, respectivamente.