You are on page 1of 5

1) Criar uma classe Conta, que possua um saldo e os mtodos para pegar saldo, depositar e sacar.

Adicione um mtodo na classe Conta que atualiza essa conta de acordo com uma taxa percentual fornecida. Crie duas subclasses da classe Conta: ContaCorrente e ContaPoupanca. Ambas tero o mtodo atualiza reescrito: A ContaCorrente deve ser atualizada com o dobro da taxa e a ContaPoupanca com o triplo da taxa. Alm disso, a ContaCorrente deve reescrever o mtodo deposita, com o objetivo de retirar uma taxa bancria de dez centavos de cada depsito. Crie uma classe TestaContas com o mtodo main e instancie estas classes, atualize-as e veja o resultado imprimindo o saldo.

Crie uma classe TestaContas com o mtodo main e instancie estas classes, atualize-as e veja o resultado imprimindo o saldo. Qual a diferena prtica das seguintes implementaes? Compila? Executa? O que muda? Qual a vantagem?

A diferena prtica das implementaes a existncia do polimorfismo. No primeiro caso ocorre a declarao de uma varivel de um tipo menos especfico. As duas implementaes compilam e rodam. Quando o cdigo compilado a JVM vai executar o mtodo referente ao tipo do objeto e no como nos referimos a ele. Por exemplo, no primeiro caso em cc seja referido como Conta ele instanciado como ContaCorrente. Por isso o valor na sada no altera declarando Conta cc = new ContaCorrente(); ou Conta cc = new ContaCorrente();.

Criar uma classe que seja responsvel por fazer a atualizao de todas as contas bancrias, gerando um relatrio com o saldo anterior e saldo novo de cada uma das contas. Alm disso, conforme atualiza as contas, o banco quer saber quanto do dinheiro do banco foi atualizado at o momento. No mtodo main, criar algumas contas e manipul-las:

Use a palavra chave super nos mtodos atualiza reescritos, para no ter de refazer o trabalho.

Se voc precisasse criar uma classe ContaInvestimento, e seu mtodo atualiza fosse complicadssimo, voc precisaria alterar a classe AtualizadorDeContas?

De forma alguma seria necessrio alterar a classe AtualizadorDeContas. Nesta classe apenas chamado o mtodo. Pouco importa a forma como a operao feita do mtodo atualiza na classe ContaInvestimento.

Crie uma classe Banco que possui um array de Conta. Em um array de Conta voc pode colocar tanto ContaCorrente quanto ContaPoupanca. Crie um mtodo public void adiciona(Conta c), um mtodo public Conta pegaConta(int x) e outro public int pegaTotalDeContas(). Faa com que seu mtodo main crie diversas contas, insira-as no Banco e depois, com um for, percorra todas as contas do Banco para pass-las como argumento para o AtualizadorDeContas.