EXERCÍCIOS RESOLVIDOS - JAVA - POLIMORFISMO

download EXERCÍCIOS RESOLVIDOS - JAVA - POLIMORFISMO

of 5

description

EXERCÍCIOS RESOLVIDOS - JAVA - POLIMORFISMO

Transcript of EXERCÍCIOS RESOLVIDOS - JAVA - POLIMORFISMO

  • 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.