Buscar

Programação Orientada a Objetos AV II

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 4 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

Programação Orientada a Objetos - Avaliação II 
 
1Uma 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 - F - F - V. 
D 
V - V - V - F. 
2O 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 
Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos 
atributos. 
C 
O objetivo principal do encapsulamento é obter um alto acoplamento entre as classes. 
D 
O encapsulamento permite que os objetos se comuniquem através de mais caminhos. 
3A 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 
As sentenças I, II e IV estão corretas. 
B 
Somente a sentença I está correta. 
C 
As sentenças II e III estão corretas. 
D 
Somente a sentença IV está correta. 
4O 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 - F. 
B 
V - V - F - V. 
C 
V - F - V - V. 
D 
F - V - F - V. 
5A 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. 
6Programação é o processo de escrita, teste e manutenção de um programa de 
computador. A Programação Orientada a Objetos (POO) diz respeito a um padrão de 
desenvolvimento que é seguido por muitas linguagens, como C# e Java. Com relação 
aos conceitos de programação orientada a objetos e sua implementação na linguagem 
Java, analise as afirmativas a seguir: I- Classes abstratas servem como modelo para 
outras classes que dela herdam e devem ser instanciadas utilizando a palavra reservada 
"new". II- Todas as classes em Java herdam, direta ou indiretamente, a classe Object. 
III- Interfaces podem ser utilizadas quando classes diferentes (não relacionadas) 
precisam de funcionalidades comuns (métodos) ou utilizam constantes comuns. IV- Na 
linguagem Java, é possível haver polimorfismo por meio da implementação de herança 
entre classes. Agora, assinale a alternativa CORRETA: 
A 
As afirmativas II, III e IV estão corretas. 
B 
As afirmativas I e III estão corretas. 
C 
Somente a afirmativa II está correta. 
D 
As afirmativas I e IV estão corretas. 
7Os modificadores de acesso são palavras reservadas da linguagem de programação 
Java e definem os padrões de visibilidade de acesso às classes, aos atributos e aos 
métodos. Por intermédio dos modificadores de acesso, é possível ocultar determinadas 
partes do código, dividindo o programa em partes menores e independentes e esta ação, 
de ocultar e/ou dividir, é conhecida como encapsulamento Acerca do conceito de 
encapsulamento e dos modificadores de acesso da linguagem de programação Java, 
analise as afirmativas a seguir: I- Uma declaração com o modificador "public" permite o 
acesso de qualquer lugar do projeto Java e por qualquer entidade que possa visualizar a 
classe a que ela pertença. II- Os membros de uma classe declarados com o modificador 
"protected" não podem ser acessados ou utilizados por nenhuma outra classe. III- 
Métodos declarados como "default" só podem ser acessados a partir dos métodos da 
própria classe. IV- O Java define quatro modificadores de visibilidade: "private", 
"public", "protected" e "default". Agora, assinale a alternativa CORRETA: 
A 
As afirmativas II e III estão corretas. 
B 
As afirmativas II, III e IV estão corretas. 
C 
Somente a afirmativa I está correta. 
D 
As afirmativas I e IV estão corretas. 
8A 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 permite que um único nome de classe represente diferentes códigos-
fonte. 
C 
O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem 
"protected". 
D 
O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para 
uma subclasse. 
9Atravé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 deinterfaces. 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 
As sentenças I e III estão corretas. 
B 
As sentenças III e IV estão corretas. 
C 
Somente a sentença IV está correta. 
D 
Somente a sentença II está correta. 
Atenção: Esta questão foi cancelada, porém a pontuação foi considerada. 
 
10O 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": 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); } 
} I- A classe em questão não apresenta nenhum problema de sintaxe. II- O método 
"competirPor(int pais)" está gerando um erro de sintaxe, e adicionando a palavra-chave 
"abstract", antes da palavra chave "void", resolverá o erro gerado. III- O método 
"competirPor(int pais)" não gera erros de sintaxe, logo não necessita da palavra-chave 
"abstract", antes da palavra-chave "void". IV- O método "competir(String modalidade)" 
gera erro de sintaxe. Assinale a alternativa CORRETA: 
A 
As sentenças II e III estão corretas. 
B 
As sentenças I e II 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