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