Buscar

Prova 2 - Programação orientada a objetos (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 7 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 7 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

Prévia do material em texto

1Diz-se que no paradigma da orientação a objetos, os objetos podem criar relações 
entre si, e duas maneiras de se estabelecer uma relação entre objetos são através 
da associação e da herança que devem ser utilizados na solução de problemas 
diferentes. Sobre esses relacionamentos, analise as sentenças a seguir: 
 
I- Quando um relacionamento de associação é estabelecido entre duas ou mais 
classes, significa que os objetos dessas classes estão relacionados, de alguma 
maneira, no mundo real. 
II- Nos relacionamentos de associação, o conceito de superclasse é utilizado de 
maneira diferente do que nos relacionamentos de herança. 
III- Os relacionamentos do tipo "associação" são implementados na linguagem de 
programação Java através das palavras reservadas "associate to". 
IV- Um relacionamento que responde de maneira positiva à pergunta "é um tipo 
de" representa uma herança. 
 
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 
As sentenças I e III estão corretas. 
D 
As sentenças II e III estão corretas. 
2O 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 
V - V - F - V. 
B 
V - F - V - V. 
C 
F - V - F - F. 
D 
V - V - F - F. 
3O conceito de classes abstrata, através de suas características especiais, fornece 
ao conceito de herança uma maior confiabilidade uma vez que as classes 
modeladas com herança precisam ser melhor idealizadas e projetadas. Dessa 
forma, avalie o código-fonte da classe Atleta, a seguir, e classifique V para as 
sentenças verdadeiras e F para as falsas: 
 
package fontes; 
 
public class Atleta{ 
 private int pais; 
 private String modalidade; 
 private boolean medalistaOlimpico; 
 
 public abstract void competir(String modalidade) { 
 System.out.println("É especialista em " + modalidade); 
 } 
 
 public void competirPor(int pais){ 
 System.out.println("O atleta compete por " + pais); 
 } 
 
} 
 
( ) A classe em questão não apresenta problemas de sintaxe. 
( ) O método competirPor(int pais) está gerando erro de sintaxe e usa 
incorretamente a palavra-chave void. 
( ) O método competirPor(int pais) possui um retorno de tipo definido. 
( ) O método "competir(String modalidade)" não gera erro de sintaxe e usa a 
palavra-chave abstract corretamente. 
 
Assinale a alternativa que apresenta a sequência CORRETA: 
A 
V - V - V - V. 
B 
F - F - F - F. 
C 
V - F - V - V. 
D 
F - F - V - V. 
4A programação orientada a objetos permite o desenvolvimento de códigos-fonte 
utilizando o encapsulamento, que evita ou diminui o acoplamento, dependência 
dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única 
de um trecho de código-fonte ou um método, por exemplo. Além disso, o 
polimorfismo é outra vantagem da programação orientada a objetos, o qual 
possibilita a manutenção futura sem necessitar de muitas alterações. Com relação 
ao encapsulamento, assinale a alternativa CORRETA: 
A 
O polimorfismo possui a desvantagem de tornar as classes com maior quantidade 
de código-fonte. 
B 
O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem 
"protected". 
C 
O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes 
para uma subclasse. 
D 
O polimorfismo permite que um único nome de classe represente diferentes 
códigos-fonte. 
5A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, 
representa um dos pilares da programação orientada a objetos e pode, quando 
bem modelada e utilizada, diminuir o esforço na manutenção do código-fonte. 
Considerando o relacionamento de herança entre duas ou mais classes, assinale a 
alternativa CORRETA: 
A 
Com a utilização do recurso de herança é possível compartilhar métodos entre 
uma classe pai e uma classe filha, porém esse compartilhamento não é possível no 
tocante aos atributos. 
B 
A palavra extends define a herança na linguagem de programação Java. 
C 
A herança de métodos é possível, porém os métodos do tipo "get" e "set" devem ser 
reescritos através do polimorfismo. 
D 
Com a utilização do recurso de herança é possível compartilhar atributos entre 
uma classe pai e uma classe filha, porém esse compartilhamento não é possível no 
tocante aos métodos. 
6Define-se um objeto como a instância de uma classe, um objeto pode ser 
considerado como a "materialização" de uma classe. A linguagem de programação 
Java utiliza uma categoria especial de métodos para essa função, os chamados 
construtores que são invocados através do operador "new". Sobre a utilização de 
métodos construtores na linguagem de programação Java, classifique V para as 
sentenças verdadeiras e F para as falsas: 
 
( ) Se não forem definidos parâmetros de inicialização, a linguagem de 
programação Java utiliza um construtor padrão sem parâmetros. 
( ) Se uma classe contiver pelo menos um construtor com parâmetros, a 
instanciação de objetos com o construtor implícito, não declarado na classe, sem 
parâmetros (vazio) deixa de existir. 
( ) Uma classe pode conter quantos construtores forem necessários, 
considerando a combinação de seus atributos, inclusive o construtor sem 
parâmetros. 
( ) Uma classe pode conter apenas uma quantidade de construtores igual à 
quantidade de seus atributos. 
 
Assinale a alternativa que apresenta a sequência CORRETA: 
A 
F - F - F - F. 
B 
V - V - V - V. 
C 
V - V - V - F. 
D 
V - F - F - V. 
7Java é 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 subclasse das 
classes contidas na área indicada pela letra B. 
II- Quadrado é uma classe filha da classe FormaGeometrica. 
III- A classe Triangulo tem como superclasse a classe FormaGeometrica. 
 
Agora, assinale a alternativa CORRETA: 
A 
As sentenças II e III estão corretas. 
B 
As sentenças I e III estão corretas. 
C 
Somente a sentença I está correta. 
D 
As sentenças I e II estão corretas. 
8A utilização do recurso de Pacotes em Java permite uma melhor organização do 
código-fonte, além de permitir que duas ou mais classes tenham o mesmo nome 
em pacotes diferentes. Juntamente com eles, o uso dos modificadores de 
visibilidade compõe uma fórmula poderosa no tocante à definição de segurança e 
encapsulamento de um programa ou aplicação. Sobre a utilização de modificadores 
de visibilidade na linguagem de programação Java, classifique V para as sentenças 
verdadeiras e F para as falsas: 
 
( ) O modificador "default", aplicado para uma classe, permite o acesso a essa 
classe por uma classe de outro pacote através do comando import. 
( ) O modificador "default", definido para um método contido em uma classe 
pública, impede que o método seja acessado por outra classe criada em outro 
pacote. 
( ) O modificador "private", definido para um método contido em uma classe com 
o modificador "default", não impede que o métodoseja acessado por outra classe 
criada no mesmo pacote. 
( ) O modificador "public", definido para um método contido em uma classe 
pública, elimina qualquer tipo de restrição de acesso ao método, mesmo que ele 
seja acessado em uma classe criada em outro pacote. 
 
Assinale a alternativa que apresenta a sequência CORRETA: 
A 
V - F - F - V. 
B 
F - F - F - F. 
C 
F - V - F - V. 
D 
V - V - V - F. 
9Dois dos relacionamentos mais utilizados na programação orientada a objetos 
são os relacionamentos de herança e associação. Embora tenham algumas 
características comuns, estes relacionamentos devem ser utilizados na solução de 
problemas diferentes. Com relação aos relacionamentos de associação e herança, 
classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) A herança não permite a reutilização de métodos de superclasses, devido ao 
polimorfismo. 
( ) Um relacionamento de associação é equivalente a um relacionamento de 
posse, pois a associação é simplesmente a colocação de um atributo de 
determinado tipo em uma classe. 
( ) Tanto a associação quanto a herança devem ser implementados na linguagem 
de programação Java através de palavras reservadas. 
( ) No relacionamento de herança, a subclasse deve responder positivamente à 
pergunta (é um tipo de), feita para a superclasse. 
 
Assinale a alternativa que apresenta a sequência CORRETA: 
A 
V - V - F - F. 
B 
F - V - F - F. 
C 
V - V - V - F. 
D 
F - V - F - V. 
10Classes abstratas são um recurso poderoso da linguagem Java para criação de 
abstrações. Utilizando classes abstratas pode-se alcançar bons níveis de 
reutilização de código-fonte, além de fortalecer e favorecer o conceito de 
polimorfismo, permitindo a reutilização e a extensão de estado e comportamento 
entre classes. Sobre as características das classes abstratas, analise as sentenças a 
seguir: 
 
I- Classes abstratas, por via de regra, não podem gerar objetos, mas construtores 
abstratos, construtores especiais, podem ser utilizados por essas classes para 
permitir que objetos sejam criados. 
II- Os métodos concretos de uma classe abstrata podem ser compartilhados, sem 
alterações, por todas as suas classes concretas geradas. 
III- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe 
concreta deve implementar todos os métodos abstratos presentes na hierarquia. 
IV- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe 
concreta deve alterar todos os métodos concretos presentes na hierarquia. 
 
Assinale a alternativa CORRETA: 
A 
As sentenças I e II estão corretas. 
B 
As sentenças II e III estão corretas. 
C 
As sentenças II e IV estão corretas. 
D 
As sentenças III e IV estão corretas.

Continue navegando