Você está na página 1de 3

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

CURSO DE CIÊNCIA E TECNOLOGIA


CURSO DE ENGENHARIA DE PRODUÇÃO
DISCIPLINA PROGRAMAÇÃO DE COMPUTADORES

ATIVIDADE AVALIATIVA - UNIDADE III

1. (1,4 pontos) Responda V para as afirmações verdadeiras e F para as falsas.


( ) Encapsulamento não é obrigatório mais é uma boa prática que torna o código mais
eficiente.
( ) Objetos são capazes de armazenar estados por meio de seus atributos e reagir a mensagens
enviadas a ele.
( ) Encapsulamento e Herança não são consideradas pilares da programação orientada a
objeto.
( ) Só é possível obter polimorfismo na aplicação se houver sobrecarga de métodos.
( ) Encapsular é ocultar partes independentes da implementação, permitindo construir partes
invisíveis ao mundo exterior.
( ) Interfaces não definem o que uma classe deve fazer e sim como. Assim, interfaces possuem
a implementação de métodos, o comportamento que uma ou um conjunto de classes deve ter.
( ) Uma classe abstrata possui instâncias diretas, bem como suas classes descendentes.

2. (0,5 pontos) __________ permite que duas ou mais classes derivadas de uma mesma
superclasse podem invocar métodos que possuem a mesma assinatura, mas comportamentos
distintos.
a) Interface
b) Polimorfismo
c) Herança
d) Classe abstrata
e) Encapsulamento

3. (0,5 pontos) No polimorfismo o termo @Override significa:


a) substituir uma classe de uma classe mãe, interface ou classe abstrata.
b) substituir um método da classe mãe, interface ou classe abstrata.
c) sobrecarregar um método da classe mãe.

4. (0,5 pontos) A herança é uma das características mais poderosas e importantes da orientação
a objetos, pois permite o reaproveitamento de atributos e métodos. Em aplicações que utilizam
herança,
a) não é possível sobrescrever em uma subclasse, um método de sua superclasse.
b) é possível se obter polimorfismo.
c) é possível a implementação de herança múltipla, em todas as linguagens orientadas a
objetos.
d) cada superclasse pode ter apenas uma subclasse.
e) somente as superclasses poderão ter métodos ou construtores sobrecarregados.

5. (0,6 pontos) Em aplicações orientadas a objetos é possível construir diferentes tipos de classes,
como
a) superclasses em relações de herança, que podem possuir métodos abstratos, mas não
podem ser instanciadas diretamente.
b) interfaces, que podem possuir construtores e serem instanciadas diretamente.
c) interfaces, que podem possuir constantes, variáveis e atributos privados.
d) classes abstratas, que podem conter métodos implementados e assinaturas de métodos sem
implementação.
e) classes abstratas, que podem possuir construtores e serem instanciadas diretamente.

6. (1,0 ponto) Descreva a diferença entre sobrecarga e reescrita de métodos.

7. (1,0 ponto) Apresente a diferença entre classes abstratas e interfaces em Java.

8. (1,6 pontos) Implemente a interface Trabalhador, as classes AgricultorFamiliar e


TrabalhadorDeRegimeGeral utilizando herança e garantindo a integridade dos dados,
adicione ainda conhecimentos de sobrescrita. Crie o método main, no qual serão instanciados
um AgricultorFamiliar e um TrabalhadorDeRegimeGeral, em seguida apresente a idade
mínima, o tempo de contribuição e a porcentagem da média de contribuição para a
aposentadoria de um agricultor e de um trabalhador de regime geral.

9. (1,6 pontos) Implemente uma classe abstrata Conta que contém os seguintes atributos: número
da conta, saldo e dados sobre o cliente como nome, cpf e endereço. Conta deve ter três
métodos abstratos: sacar, depositar e transferir.
a) Crie classes para Conta Corrente e Conta Poupança como subclasses de Conta. Conta
Corrente possui um atributo chamado limite, que estipula quanto o cliente pode utilizar
quando o saldo zerar. Conta poupança possui um atributo chamado rendimento, que é
aplicado ao saldo da poupança por mês. A taxa padrão de rendimento é de 0,3%.
b) Tanto a Conta Corrente como a Conta Poupança possuem um método para mostrar todos
os dados do objeto.
c) Crie uma aplicação em Java que testa as capacidades das classes sugeridas.

10. (1,3 ponto) Implemente um sistema em java de acordo com a modelagem a seguir:
a) Crie a classe TestaConta para instanciar objetos das classes implementas na questão 10 e
testar suas funcionalidades.

Boa Prova!!!

Você também pode gostar