Prévia do material em texto
03/12/2023, 13:33 Avaliação II - Individual
about:blank 1/8
Prova Impressa
GABARITO | Avaliação II - Individual (Cod.:825701)
Peso da Avaliação 1,50
Prova 66141282
Qtd. de Questões 10
Acertos/Erros 6/3
Canceladas 1
Nota 7,00
Atenção: Esta questão foi cancelada, porém a pontuação foi considerada.
O 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 o polimorfismo.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A V - V - F - V.
B V - F - F - V.
C F - V - F - V.
D V - V - V - F.
Java é 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 superclasse das classes contidas
na área indicada pela letra B.
II- Quadrado é uma classe filha da classe FormaGeometrica.
III- O método enfatizado pela letra C, calcularArea(), está sobrescrevendo a implementação da
superclasse de Triangulo.
IV- A classe FormaGeometrica também é conhecida na linguagem Java como JGF.
VOLTAR
A+ Alterar modo de visualização
1
2
03/12/2023, 13:33 Avaliação II - Individual
about:blank 2/8
Agora, assinale a alternativa CORRETA:
A As sentenças II e IV estão corretas.
B Somente a sentença III está correta.
C As sentenças I, II e III estão corretas.
D As sentenças I e IV estão corretas.
Quando uma classe herda de outra, ela herda implementação, atributos e comportamento. Isso
significa que todos os métodos e atributos disponíveis na interface externa da classe mãe estarão
também na interface externa da filha (SINTES, 2002). Uma classe construída através de herança pode
ter tipos importantes de métodos e atributos.
FONTE: SINTES, Anthony. Aprenda programação orientada a objetos em 21 dias. Tradução João
Eduardo Nóbrega Tortello. São Paulo: Pearson Education do Brasil, 2002.
Sobre os tipos de métodos e atributos, assinale a alternativa INCORRETA:
A Replicado.
3
03/12/2023, 13:33 Avaliação II - Individual
about:blank 3/8
B Sobreposto.
C Recursivo.
D Novo.
As classes abstratas são as que não permitem realizar qualquer tipo de instância. São classes feitas
especialmente para serem modelos para suas classes derivadas. As classes derivadas, via de regra,
deverão sobrescrever os métodos para realizar a implementação dos mesmos. As classes derivadas das
classes abstratas são conhecidas como classes concretas. As classes abstratas têm ainda uma
importante função, que é permitir a utilização de métodos abstratos. Os métodos abstratos são uma
das formas de se implementar o polimorfismo. Sobre os métodos abstratos, analise as sentenças a
seguir:
I – Um método abstrato não tem corpo, somente sua assinatura.
II – Métodos abstratos somente podem ser definidos em classes abstratas.
III – Uma classe abstrata pode ter quantos métodos concretos (não abstratos) e abstratos forem
necessários.
IV – Os objetos são derivados de método que estão sendo sobrescrito ou sobreposto.
V – Métodos derivados somente podem ser definidos em classes principais.
Assinale a alternativa CORRETA:
A As sentenças I, II e III estão corretas.
B As sentenças I, III e IV estão corretas.
C As sentenças I e IV estão corretas.
4
03/12/2023, 13:33 Avaliação II - Individual
about:blank 4/8
D As sentenças II e V 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, 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 - F - V - V.
B F - F - F - F.
C F - F - V - V.
D V - V - V - V.
A 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.
5
6
03/12/2023, 13:33 Avaliação II - Individual
about:blank 5/8
( ) 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étodo seja 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 F - F - F - F.
B V - F - F - V.
C F - V - F - V.
D V - V - V - F.
Em Orientação a Objetos, para que uma subclasse de uma classe possa ter seu próprio
comportamento, e mesmo assim compartilhar algumas das funcionalidades da classe pai, deve-se
implementar um método.
Qual é esse método?
A Abstração.
B Polimorfismo.
C Composição.
D Agregação.
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
utilizadospor nenhuma outra classe.
III- Métodos declarados como "default" só podem ser acessados a partir dos métodos da própria
7
8
03/12/2023, 13:33 Avaliação II - Individual
about:blank 6/8
classe.
IV- O Java define quatro modificadores de visibilidade: "private", "public", "protected" e "default".
Agora, assinale a alternativa CORRETA:
A As afirmativas I e IV estão corretas.
B Somente a afirmativa I está correta.
C As afirmativas II e III estão corretas.
D As afirmativas II, III e IV estão corretas.
O 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 - F.
B V - V - F - V.
C F - V - F - F.
D V - F - V - V.
9
03/12/2023, 13:33 Avaliação II - Individual
about:blank 7/8
Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse
podem invocar métodos que têm a mesma identificação (assinatura), mas comportamentos distintos,
especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da
superclasse.
Sobre um exemplo de polimorfismo, assinale a alternativa CORRETA:
A
B Todas estão corretas!
C
10
03/12/2023, 13:33 Avaliação II - Individual
about:blank 8/8
D
Imprimir