Buscar

Programação Orientada a Objetos - Avaliação 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 8 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 8 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

Prévia do material em texto

1O 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 "Competidor" e classifique V para as 
sentenças verdadeiras e F para as falsas: (1) package fontes; (2) public class 
Competidor{ (3) private int pais; (5) private String modalidade; (6) private 
boolean medalistaOlimpico; (7) (8) public void competir(String modalidade){ (9) 
System.out.println("É especialista em " + modalidade); (10) } (11) (12) public 
abstract void competirPor(int pais){ (13) System.out.println("O atleta compete por 
" + pais); (14) } (15) (16)} ( ) Existe um erro de sintaxe na linha (2) que é resolvido 
adicionando-se a palavra-chave "abstract", antes da palavra chave "Class". ( ) O 
método "competir(String modalidade)" está gerando um erro de sintaxe, e 
adicionando a palavra chave "abstract", antes da palavra-chave "void", resolverá o 
erro gerado. ( ) O método "competirPor(int pais)" está gerando um erro de sintaxe, 
resolvido eliminando-se a sua implementação, deixando-se apenas a sua 
assinatura. ( ) O método "competirPor(int pais)" está gerando um erro de sintaxe, e 
adicionando a palavra-chave abstract, antes da palavra- chave "Class", além de 
eliminar a sua implementação, deixando-se apenas a sua assinatura, resolverá o 
erro gerado. Assinale a alternativa que apresenta a sequência CORRETA: 
A 
V - F - F - V. 
B 
F - F - V - V. 
C 
V - V - V - F. 
D 
V - V - F - V. 
2Os modificadores de acesso possuem o objetivo de tornar classes, métodos ou 
atributos visíveis ou invisíveis, facilitando o seu encapsulamento. Com estes 
modificadores, podemos, por exemplo, liberar o acesso de um atributo de uma 
classe X por uma classe Y. Analise o código-fonte a seguir e classifique V para as 
sentenças verdadeiras e F para as falsas: ( ) O método "getCodigo()"da classe 
"Carro" é visível em todas as classes do pacote. ( ) O método "getCodigo()"da classe 
"Carro" é visível somente na subclasse de um relacionamento de herança. ( ) O 
método "getValor()"da classe "Carro" é visível somente na subclasse de um 
relacionamento de herança. ( ) O método "getModelo()"da classe "Carro" é visível 
somente dentro da própria classe "Carro". Assinale a alternativa que apresenta a 
sequência CORRETA: 
A 
V - V - F - F. 
B 
V - V - V - F. 
C 
F - F - V - V. 
D 
F - V - F - F. 
3 
Na linguagem de programação Java existem vários métodos e classes, que nos 
auxiliam em várias áreas, sendo uma delas a parte de cálculos (como do número pi, 
do número de euler), no cálculo de funções trigonométricas (senos, cossenos, 
tangentes etc.) e outras funcionalidades. Sobre a classe/metódo “Math.Pow(i, j)”, 
analise as sentenças a seguir: 
I – É um método da linguagem Java que calcula i elevado a j. 
II – É um método da classe Math que calcula i elevado a j. 
III – É um método que multiplica i por j. 
IV – É um método que calcula o resto da divisão. 
V – É um método que retorna o inteiro de uma divisão 
 
Assinale a alternativa CORRETA: 
A 
As sentenças I e II estão corretas. 
B 
As sentenças I e IV estão corretas. 
C 
As sentenças II e V estão corretas. 
D 
As sentenças I e III estão corretas. 
4 
Encapsular, basicamente, significa ocultar. No caso específico do Java, são 
marcados com modificadores de visibilidade os atributos, métodos ou classes que 
desejamos encapsular. São quatro os modificadores de visibilidade da linguagem 
de programação Java. Considerando esses modificadores, assinale a alternativa 
INCORRETA: 
A 
Default: o modificador default é implementado simplesmente não colocando 
nenhum modificador na frente da classe, atributo ou método. 
B 
Public: fornece acesso dentro da aplicação onde estiver declarado, no caso de 
classes, atributos ou métodos. Quando marcamos uma classe como public, 
queremos dizer que esta será visível a todas as demais classes da aplicação. 
C 
Private: fornece acesso somente dentro da classe onde estiver declarado, no caso 
de atributos ou métodos. 
D 
Protected: este modificador indica que o método será visível na subclasse de um 
relacionamento de herança. 
5Como 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 
Somente a sentença IV está correta. 
B 
Somente a sentença II está correta. 
C 
As sentenças I e III estão corretas. 
D 
As sentenças III e IV estão corretas. 
6Uma das principais vantagens em se desenvolver um software utilizando o 
paradigma da orientação a objetos, é a reutilização de código-fonte, tornando-o 
mais legível e fácil de realizar manutenção. Neste sentido, podemos exemplificar a 
facilidade de manutenção com a necessidade de criar uma coluna em uma tabela, 
gravando um valor fixo. Neste caso, basta alterar o método que realiza a inserção 
de registro nesta tabela, e o software está alterado, mesmo que o método seja 
invocado por mais de uma classe. Analise o código-fonte a seguir e classifique V 
para as sentenças verdadeiras e F para as falsas: ( ) Devido à herança, a linha 31 
está correta. ( ) A classe "Carro" herda o método "getNomeModelo()" da classe 
"Veiculo". ( ) A classe "Veiculo" herda os métodos com modificador "public" da 
classe "Carro". ( ) Ocorre uma relação de herança entre as duas classes, sendo que 
a classe "Carro" herda atributos e métodos da classe "Veiculo". Assinale a 
alternativa que apresenta a sequência CORRETA:
 
A 
F - V - F - F. 
B 
V - V - F - V. 
C 
V - V - V - F. 
D 
V - F - F - V. 
7A 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 
V - V - F - V. 
B 
V - V - F - F. 
C 
V - F - F - V. 
D 
F - V - V - F. 
8O 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 opolimorfismo. Agora, 
assinale a alternativa que apresenta a sequência CORRETA: 
A 
V - F - F - V. 
B 
V - V - F - V. 
C 
V - V - V - F. 
D 
F - V - F - V. 
9Java é 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 implementa a interface FormaGeometrica. Agora, 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 
Somente a sentença II está correta. 
D 
Somente a sentença I está correta. 
10De acordo com o paradigma da programação orientada a objetos, o 
relacionamento de herança difere-se do relacionamento de associação 
especialmente pela definição dos tipos envolvidos. Considerando a figura a seguir, 
classifique V para as sentenças verdadeiras e F para falsas: ( ) O relacionamento 
mais adequado entre Personagem e Gladiador é o de herança. ( ) Um Personagem 
tem uma arma, o que caracterizaria um relacionamento de associação. ( ) Se 
Personagem está associado a uma arma e Gladiador é subclasse de Soldado, 
necessariamente Gladiador tem uma arma. ( ) O relacionamento mais adequado 
entre Gladiador e Soldado é o de associação. Agora, assinale a alternativa que 
apresenta a sequência CORRETA: 
A 
V - V - F - F. 
B 
F - V - F - F. 
C 
V - F - F - V. 
D 
V - V - V - V.

Outros materiais