Exercício de Herança 4 (Sistema banco)
Exercício de Herança 4 (Sistema banco)
Vamos criar uma classe
Conta
, que possua um saldo os métodos para pegar saldo, depositar e sacar- Crie a classe
Conta
- Adicione o atributo saldo
- Crie os métodos
getSaldo()
,deposita(double)
esaca(double)
- Crie os métodos
- Crie a classe
Adicione um método na classe
Conta
, que atualiza essa conta de acordo com uma taxa percentual fornecidaCrie duas subclasses da classe
Conta
:ContaCorrente
eContaPoupanca
. Ambas terão o método atualiza reescrito: AContaCorrente
deve atualizar-se com o dobro da taxa e aContaPoupanca
deve atualizar-se com o triplo da taxa. Além disso, aContaCorrente
deve reescrever o método deposita, a fim de retirar uma taxa bancária de dez centavos de cada depósito.- Crie as classes
ContaCorrente
eContaPoupanca
. Ambas são filhas da classeConta
; - Reescreva o método atualiza na classe
ContaCorrente
, seguindo o enunciado; - Repare que, para acessar o atributo saldo herdado da classe
Conta
, você vai precisar trocar o modificador de visibilidade de saldo para protected; - Reescreva o método atualiza na classe
ContaPoupanca
, seguindo o enunciado: - Na classe
ContaCorrente
, reescreva o método deposita para descontar a taxa bancária de dez centavos:
- Crie as classes
Crie uma classe com método main e instancie essas classes, atualize-as e veja o resultado. Algo como:
public 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()); } }
Vamos criar uma classe que seja responsável por fazer a atualização de todas as contas bancárias e gerar um relatório com o saldo anterior e saldo novo de cada uma das contas. Além disso, conforme atualiza as contas, o banco quer saber quanto do dinheiro do banco foi atualizado até o momento. Por isso, precisamos ir guardando o saldoTotal e adicionar um getter à classe.
public class AtualizadorDeContas { private double saldoTotal = 0; private double selic; public AtualizadorDeContas(double selic) { this.selic = selic; } public void roda(Conta c) { // aqui você imprime o saldo anterior, atualiza a conta, // e depois imprime o saldo final // lembrando de somar o saldo final ao atributo saldoTotal } // outros métodos, colocar o getter para saldoTotal! }
No método main, vamos criar algumas contas e rodá-las:
public class TestaAtualizadorDeContas {
public static void main(String[] args) {
Conta c = new Conta();
Conta cc = new ContaCorrente();
Conta cp = new ContaPoupanca();
c.deposita(1000);
cc.deposita(1000);
cp.deposita(1000);
AtualizadorDeContas adc = new AtualizadorDeContas(0.01);
adc.roda(c);
adc.roda(cc);
adc.roda(cp);
System.out.println("Saldo Total: " + adc.getSaldoTotal());
}
}