Buscar

Programação Orientada a Objetos - AVA 2

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

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
Você viu 3, do total de 6 páginas

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

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
Você viu 6, do total de 6 páginas

Prévia do material em texto

Acadêmico: Paulo de Miranda Junior (1229398) 
 
Disciplina: Programação Orientada a Objetos (ADS17) 
Avaliação: Avaliação II - Individual Semipresencial ( Cod.:460225) ( peso.:1,50) 
Prova: 13528048 
Nota da Prova: 9,00 
 
Legenda: Resposta Certa Sua Resposta Errada 
1. Java é uma linguagem de programação interpretada orientada a objetos desenvolvida 
na década de 90 por uma equipe de programadores. Observe a figura anexa que 
ilustra uma situação típica em que podemos aplicar o conceito de herança de classes 
em Java. Considerando os conceitos de programação orientada a objetos, analise as 
sentenças a seguir: 
 
I- A classe FormaGeometrica, indicada pela letra A, é considerada a superclasse das 
classes contidas na área indicada pela letra B. 
II- Quadrado é uma classe filha da classe FormaGeometrica. 
III- O método enfatizado pela letra C, calcularArea(), está sobrescrevendo a 
implementação da superclasse de Triangulo. 
IV- A classe FormaGeometrica também é conhecida na linguagem Java como JGF. 
 
Agora, assinale a alternativa CORRETA: 
 
 a) As sentenças II e IV estão corretas. 
 b) As sentenças I e IV estão corretas. 
 c) Somente a sentença III está correta. 
 d) As sentenças I, II e III estão corretas. 
 
2. A herança é um dos pilares da programação orientada a objetos e pode, quando bem 
utilizada, diminuir o esforço na manutenção do código fonte. Com relação ao 
relacionamento de herança entre duas ou mais classes, analise as sentenças a seguir: 
 
I- Através da herança, é possível reaproveitar atributos já definidos em uma classe 
mãe. 
II- Uma classe filha pode herdar de quantas superclasses quiser na linguagem de 
programação Java. 
III- Não é possível herdar a implementação de métodos, visto que todos devem ser 
reescritos através do polimorfismo. 
IV- A palavra inherits define a herança na linguagem de programação Java. 
 
Agora, assinale a alternativa CORRETA: 
 a) Somente a sentença IV está correta. 
 b) Somente a sentença I está correta. 
 c) As sentenças I, II e IV estão corretas. 
 d) As sentenças II e III estão corretas. 
 
3. O polimorfismo é implementado de muitas formas dentro da linguagem de 
programação Java, sendo que uma das mais utilizadas é a criação e a implementação 
de interfaces. Considerando a criação e a utilização de interfaces dentro da 
linguagem de programação Java, analise o código fonte da figura a seguir e 
classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12. 
( ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia. 
( ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o 
método gerarChaveCripto(Date data). 
( ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA: 
 
 a) F - V - F - F. 
 b) V - F - V - V. 
 c) V - V - F - F. 
 d) V - V - F - V. 
 
4. O polimorfismo é um mecanismo poderoso da programação orientada a objetos, pois 
permite que se adicionem novas funcionalidades a um software sem alterar partes 
desse mesmo software que já estejam funcionando. Com relação ao polimorfismo, 
classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O polimorfismo de sobreposição consiste na colocação de novos parâmetros em 
outro método que possua o mesmo nome de um método já existente. 
( ) O polimorfismo paramétrico é altamente dependente da linguagem de 
programação, por este motivo nem todas as linguagens de programação orientadas a 
objetos o implementam. 
( ) A sobrecarga permite redefinir completamente um método, substituindo-o nas 
classes que fizerem uso deste tipo de polimorfismo. 
( ) As interfaces são uma maneira eficiente de implementar o polimorfismo. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA: 
 a) V - F - F - V. 
 b) V - V - F - V. 
 c) F - V - F - V. 
 d) V - V - V - F. 
 
5. A utilização de classes abstratas permite uma maior confiabilidade na definição da 
hierarquia de herança, pois possui características especiais que impedem sua 
utilização de forma errônea por outros desenvolvedores. Considerando que as 
palavras sublinhadas na figura a seguir representam erros de compilação, classifique 
V para as sentenças e F para as falsas: 
 
( ) Bastaria colocar a palavra reservada abstract na frente da palavra class para 
resolver todos os problemas da classe. 
( ) Uma classe abstrata pode possuir métodos concretos. 
( ) Somente classes abstratas podem possuir métodos abstratos. 
( ) O primeiro método imprime() deve receber um parâmetro de qualquer tipo para 
que seu erro de compilação seja corrigido. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA: 
 
 a) F - V - V - F. 
 b) V - V - F - F. 
 c) V - V - F - V. 
 d) V - F - F - V. 
 
6. Uma das principais características da orientação a objetos é a possibilidade de 
ocultar partes do código de um objeto, chamada de encapsulamento. Com o 
encapsulamento, cada parte do código-fonte é menor e independente de outras partes, 
isto é, cada método é específico, realizando uma única operação, tornando o código-
fonte mais reutilizável e legível. Com relação ao encapsulamento, assinale a 
alternativa CORRETA: 
 a) O encapsulamento evita que alguma entidade externa altere os valores dos 
atributos de um objeto indevidamente. 
 b) Ao ocultar detalhes do código-fonte, aumenta-se o acoplamento. 
 c) A interface exposta de uma classe, se alterada para privada, encapsulada, não 
requer cuidado para os métodos chamadores. 
 d) O encapsulamento permite a instância de uma classe em memória. 
 
7. Como regra geral, os atributos de uma classe devem ser ocultos dos demais objetos 
do sistema, com o objetivo de garantir o encapsulamento. Entretanto, caso algum 
destes atributos deva ser exposto, existem vários tipos de exposição, através dos 
métodos getters e setters. Com relação à utilização dos getters e setters em uma 
classe, classifique V para as sentenças verdadeiras e F para as falsas: 
 
I- Os métodos getters fornecem acesso de escrita a um atributo. 
II- Os métodos setters permitem que se altere o valor de um atributo de um objeto. 
III- Uma das vantagens dos setters é que se pode fazer a chamada dos mesmos sem 
instanciar o objeto onde eles estão. 
IV- Os métodos setters sempre devem retornar o valor que acabaram de passar ao 
atributo. 
 
Agora, assinale a alternativa CORRETA: 
 a) As sentenças III e IV estão corretas. 
 b) Somente a sentença IV está correta. 
 c) As sentenças I e III estão corretas. 
 d) Somente a sentença II está correta. 
 
8. O Polimorfismo de inclusão permite que se defina um novo comportamento para um 
objeto sem que se faça alterações nos que já estão funcionando, minimizando 
consideravelmente os custos e reduzindo o tempo para novas implementações. 
Considerando que a figura a seguir traz duas classes relacionadas a uma interface, 
classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O método encript() da interface é implicitamente abstrato. 
( ) Na linguagem de programação Java, demonstraríamos que SHA implementa 
IAlgoritmoCriptografia através da palavra reservada extends. 
( ) Um método existente em outra classe cuja assinatura seja ?public void 
criptografar(IAlgoritmoCriptografia iac)? pode receber como parâmetro tanto um 
objeto da classe SHA quanto um objeto da classe DES. 
( ) Podemos dizer que tanto SHA quanto DES implementam 
IAlgoritmoCriptografia.Agora, assinale a alternativa que apresenta a sequência CORRETA: 
 
 a) V - V - F - V. 
 b) F - V - F - V. 
 c) V - V - F - F. 
 d) V - F - V - V. 
 
9. Através do encapsulamento, é possível deixar o software mais manutenível, através 
da centralização de responsabilidades, ocultação de implementação e exposição de 
interfaces. Com relação ao encapsulamento e sua implementação na linguagem de 
programação Java, analise as sentenças a seguir: 
 
I- Atributos também podem ser ocultados, no sentido de garantir um maior 
encapsulamento. 
II- O modificador default permite o acesso padrão a todos dentro da mesma 
aplicação. 
III- Quanto maior o acoplamento, maior a dependência entre os objetos e, 
consequentemente, mais difícil a manutenção do código fonte. 
IV- Tanto a coesão quanto o encapsulamento são obtidos na linguagem de 
programação Java através do modificador de acesso protected. 
 
Agora, assinale a alternativa CORRETA: 
 a) Somente a sentença II está correta. 
 b) As sentenças I e III estão corretas. 
 c) As sentenças III e IV estão corretas. 
 d) Somente a sentença IV está correta. 
 
10. O encapsulamento é um dos pilares da programação orientada a objetos, e sua 
utilização de forma correta serve como embasamento para os outros dois pilares: a 
herança e o polimorfismo. Com relação ao encapsulamento, assinale a alternativa 
CORRETA: 
 a) Através do encapsulamento, podemos proteger os valores internos dos objetos de 
acessos desnecessários. 
 b) O objetivo principal do encapsulamento é obter um alto acoplamento entre as 
classes. 
 c) Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos 
atributos. 
 d) O encapsulamento permite que os objetos se comuniquem através de mais 
caminhos.

Continue navegando