Buscar

Avaliação II - Programação Orientada a Objetos

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

28/06/2022 19:31 Avaliação II - Individual
1/5
Prova Impressa
GABARITO | Avaliação II - Individual (Cod.:739605)
Peso da Avaliação 1,50
Prova 48586848
Qtd. de Questões 10
Acertos/Erros 7/3
Nota 7,00
Uma 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 V - F - F - V.
B V - V - V - F.
C V - V - F - V.
 VOLTAR
A+ Alterar modo de visualização
1
28/06/2022 19:31 Avaliação II - Individual
2/5
D F - V - F - F.
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 As sentenças III e IV estão corretas.
B Somente a sentença II está correta.
C As sentenças I e III estão corretas.
D Somente a sentença IV está correta.
Os 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 As afirmativas I e IV estão corretas.
D Somente a afirmativa I está correta.
2
3
28/06/2022 19:31 Avaliação II - Individual
3/5
Quanto maior o acoplamento entre duas classes, maior o grau de relacionamento entre estas, o 
que é contrário aos princípios do encapsulamento. Assinale a alternativa CORRETA que explique um 
malefício causado pelo alto acoplamento:
A Em uma situação na qual duas classes são fortemente acopladas, a comunicação entre estas
torna-se mais difícil.
B Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais
difícil a manutenção do código fonte.
C Em um sistema em que ocorre alto acoplamento, a performance tende a ser baixa.
D O alto acoplamento impede que os objetos se comuniquem livremente através de mensagens,
deixando o sistema pouco flexível.
De 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 - V - V.
B F - V - F - F.
C V - V - F - F.
D V - F - F - V.
A linguagem de programação Java implementa o encapsulamento através de modificadores de 
visibilidade que podem ser colocados na frente de classes, atributos e métodos. Com relação à 
utilização do encapsulamento na linguagem de programação Java, assinale a alternativa CORRETA:
A O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
B O modificador private permite o acesso somente dentro do mesmo pacote.
4
5
6
28/06/2022 19:31 Avaliação II - Individual
4/5
C Um método com o modificador public não faz sentido em uma classe com o modificador
default.
D O modificador public não pode ser usado na frente de atributos.
Por intermédio da herança e do encapsulamento, é possível implementarmos o polimorfismo, 
mecanismo que permite que duas ou mais classes derivadas de uma mesma superclasse possam criar 
e/ou invocar métodos com a mesma assinatura, mas com comportamentos diferentes. Com relação ao 
conceito de polimorfismo e sua implementação na linguagem Java, analise as afirmativas a seguir:
I- Polimorfismo de inclusão, polimorfismo paramétrico, sobreposição e sobrecarga são exemplos de 
tipos de polimorfismo. 
II- O Java não permite a implementação do polimorfismo paramétrico. 
III- A técnica de sobrecarga pode ser utilizada para distinguir, em uma determinada classe, dois 
métodos com o mesmo nome, o mesmo retorno e o mesmo conjunto de argumentos, mas com uma 
lógica diferente. 
IV- Na sobrecarga de métodos, é necessário utilizar a anotação @Override. 
Agora, assinale a alternativa CORRETA:
A As afirmativas II, III e IV estão corretas.
B Somente a afirmativa I está correta.
C As afirmativas I e IV estão corretas.
D As afirmativas II e IV estão corretas.
O 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. 
7
8
28/06/2022 19:31 Avaliação II - Individual
5/5
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 desintaxe. 
Assinale a alternativa CORRETA:
A As sentenças III e IV estão corretas.
B As sentenças I e II estão corretas.
C As sentenças II e III estão corretas.
D As sentenças II e IV estão corretas.
Na linguagem de programação Java, uma boa prática de desenvolvimento de software é 
programar orientado a objetos, embora a linguagem permita a programação procedural. No 
paradigma da orientação a objetos, encapsulamento pode ser descrito como ocultar atributos, métodos 
ou classes. Isto é realizado através de alguns modificadores de visibilidade, os quais são 
implementados. Com relação a estes modificadores de visibilidade, assinale a alternativa CORRETA:
A O modificador public para uma classe fornece visibilidade desta classe em todas as demais
classes da aplicação.
B O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote.
C O modificador default fornece visibilidade dentro da própria classe.
D O modificador private fornece acesso a todas as classes da aplicação.
A 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 apenas ocorre quando o modificador dos métodos da classe forem "protected".
B O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-
fonte.
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.
9
10
Imprimir

Continue navegando