Buscar

201755_183820_Aula18_Exercícios_Herança_Polimorfismo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

35323 – Linguagem de Programação II 
 
Ciência da Computação – T. 2016 – 2017/01 
Exercícios 
Prof. Gerson Groth 
1) Crie uma classe Conta, que possua um saldo, os métodos para visualizarSaldo, 
depositar e sacar 
2) Adicione um novo método atualizarConta na classe Conta, que atualiza essa o saldo 
dessa conta de acordo com uma taxa percentual (double) fornecida . 
3) Crie duas subclasses da classe Conta: ContaCorrente e ContaPoupanca. Ambas devem 
sobrescrever o método atualizarConta: ContaCorrente deve atualizar-se com o dobro 
da taxa, e ContaPoupanca com o triplo da taxa 
4) Sobrescreva o método depositar para a ContaCorrente, a fim de retirar uma taxa 
bancária de dez centavos de cada depósito. 
5) Crie uma classe de Teste, e teste suas Contas 
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()); 
6) Rode o código a seguir da seguinte maneira 
Conta c = new Conta(); 
Conta cc = new ContaCorrente(); 
Conta cp = new ContaPoupanca(); 
Compila? Roda? O que muda? Qual é a utilidade disso? Realmente, essa não é a maneira 
mais útil do polimorfismo - veremos o seu real poder no próximo exercício. Porém existe 
uma utilidade de declararmos uma variável de um tipo menos específico do que o objeto 
realmente é. 
7) Crie 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. O valor da 
atualização deve ser passado no construtor da classe AtualizadorDeContas. 
 
 
 
 
 
35323 – Linguagem de Programação II 
 
Ciência da Computação – T. 2016 – 2017/01 
Exercícios 
Prof. Gerson Groth 
Exercício 8: Crie uma classe chamada Ingresso que possui um valor em reais e um método 
imprimeValor(). 
a. crie uma classe VIP, que herda Ingresso e possui um valor adicional. Crie um 
método que retorne o valor do ingresso VIP (com o adicional incluído). 
b. crie uma classe Normal, que herda Ingresso e possui um método que imprime: 
"Ingresso Normal". 
c. crie uma classe CamaroteInferior (que possui a localização do ingresso e métodos 
para acessar e imprimir esta localização) e uma classe CamaroteSuperior, que é mais cara 
(possui valor adicional). Esta última possui um método para retornar o valor do ingresso. 
Ambas as classes herdam a classe VIP. 
 
Exercício 9: Crie a classe Imovel, que possui um endereço e um preço. 
a. crie uma classe Novo, que herda Imovel e possui um adicional no preço. Crie 
métodos de acesso e impressão deste valor adicional. 
b. crie uma classe Velho, que herda Imovel e possui um desconto no preço. Crie 
métodos de acesso e impressão para este desconto. 
 
Exercício 10: Um sistema de cadastro de clientes de uma empresa guarda informações sobre 
nomes, endereços e telefones. Além disso, caso o cliente seja uma pessoa física, seu número 
de CPF é armazenado e, caso o cliente seja uma pessoa jurídica, seu CNPJ e nome de 
fantasia da empresa devem ser guardados. A qualquer momento deve ser possível imprimir 
todos dados de um determinado cliente. Altere a modelagem a seguir e implemente as 
classes necessárias em Java utilizando os conceitos de polimorfismo e classes abstratas (não 
é necessário implementar o cadastro completo de clientes).

Mais conteúdos dessa disciplina