Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Apostila fj11 - Exercício 7.7 Herança, Reescrita e Polimorfismo

$
0
0

@Markoloiola escreveu:

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.

Mensagens: 1

Participantes: 1

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>