Prévia do material em texto
03/02/2023 18:32 Avaliação Final (Objetiva) - Individual
about:blank 1/6
Prova Impressa
GABARITO | Avaliação Final (Objetiva) - Individual
(Cod.:768339)
Peso da Avaliação 3,00
Prova 59143699
Qtd. de Questões 10
Acertos/Erros 1/9
Nota 1,00
Padrões de Projetos são soluções testadas para problemas recorrentes no desenvolvimento de
software. Consistem simplesmente na utilização de práticas e técnicas da orientação a objetos. Sobre
o padrão chamado Singleton, assinale a alternativa CORRETA:
A É um padrão de projeto que restringe a instanciação de uma classe para um objeto.
B
Este padrão converte a interface de uma classe por outra esperada pelos clientes, o que possibilita
que classes com interfaces incompatíveis trabalhem em conjunto – o que, de outra forma, seria
impossível.
C É um padrão de projeto que não restringe a instanciação de uma classe para um objeto.
D A intenção deste padrão é fornecer uma interface para criação de famílias de objetos relacionados
ou dependentes sem especificar suas classes concretas.
A estrutura de uma classe na linguagem de programação Java comporta um nome, um conjunto
de atributos, também conhecidos como o estado desta classe e um conjunto de métodos, também
conhecidos como o comportamento desta classe. Considerando a estrutura da Classe Principal
demonstrada na figura a seguir, classifique V para as sentenças verdadeiras e F para as falsas:
( ) Já que o método "Aluno()" não possui parâmetros as linhas 7 a 9 geram erros de compilação.
( ) O método chamado main é quem torna uma classe executável, sendo que a sua existência em
uma classe é opcional.
( ) A linha 1 define, através da palavra reservada "package", que a classe está agrupada, porém sem
obedecer as suas responsabilidades dentro de uma aplicação.
( ) Pode-se afirmar que o tipo de dados do atributo "nome", existente na classe aluno é do tipo
booleano.
VOLTAR
A+
Alterar modo de visualização
1
2
03/02/2023 18:32 Avaliação Final (Objetiva) - Individual
about:blank 2/6
Assinale a alternativa que apresenta a sequência CORRETA:
A V - F - F - V.
B F - V - V - V
C F - V - F - F.
D V - F - V - F.
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.
II- O método competirPor(int pais) não está gerando nenhum erro de sintaxe e está usando
corretamente a palavra-chave void.
III- O método competirPor(int pais) gera erros de sintaxe, logo necessita da palavra-chave abstract
antes da palavra-chave void.
IV- O método "competir(String modalidade)" não gera erro de sintaxe.
Assinale a alternativa CORRETA:
A As sentenças I e II estão corretas.
B As sentenças II e IV estão corretas.
C As sentenças III e IV estão corretas.
3
03/02/2023 18:32 Avaliação Final (Objetiva) - Individual
about:blank 3/6
D As sentenças II e III estão corretas.
Grande parte das aplicações existentes no mercado dependem dos bancos de dados relacionais
para o armazenamento e a recuperação de informações. Com vistas a isso, a plataforma Java traz uma
api conhecida como Java Database Connectivity (JDBC), que permite a conexão com os bancos de
dados mais utilizados. Com relação à JDBC da plataforma Java, classifique V para as sentenças
verdadeiras e F para as falsas:
( ) Para conseguir compatibilidade, a arquitetura do JDBC foi feita de forma desacoplada,
baseando-se em drivers, fornecidos pelos fornecedores de bancos de dados.
( ) O JDBC endereça automaticamente a questão do mapeamento objeto relacional.
( ) Os drivers JDBC do tipo nativo são implementados na linguagem de programação utilizada para
implementar o banco de dados com o qual se quer estabelecer conexão.
( ) Para utilizar um driver JDBC do tipo nativo desenvolvido por terceiros, basta adicioná-lo à
biblioteca do projeto através da inclusão de seu .jar.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V - F.
B V - F - V - F.
C V - F - F - V.
D V - V - F - F.
O padrão de projeto Singleton aumenta a qualidade, e a produtividade, do desenvolvimento de
software orientado a objetos, pois é capaz de solucionar problemas rotineiros que normalmente
ocorrem durante as etapas do desenvolvimento de um software. Esse padrão descreve uma
implementação na qual uma classe é instanciada uma única vez durante a execução de uma aplicação.
Referente ao código-fonte que implementa um exemplo da aplicação Singleton para a classe
Memoria, assinale a alternativa CORRETA:
(1)public class Memoria{
(2) private static Memoria memoryInstance;
(3) private double quantidadeMemoria;
(4)
(5) private Memoria(){}
(6)
(7)
(8) public static Memoria getInstance() {
(9) if(memoryInstance == null) {
(10) memoryInstance = new Memoria();
(11) }
(12) return memoryInstance;
(13) }
(14)
(15) public double getQuantidadeMemoria() {
(16) return this.quantidadeMemoria;
(17) }
(18)
4
5
03/02/2023 18:32 Avaliação Final (Objetiva) - Individual
about:blank 4/6
(19) public void setQuantidadeMemoria (float quantidadeMemoria) {
(20) this.quantidadeMemoria = quantidadeMemoria;
(21) }
(22)}
A
A linha 5, do código-fonte da classe Memoria, representa um mecanismo de segurança,
construtor privado, que impede qualquer outra classe externa de criar uma instância da classe em
questão.
B As linhas 19 até 21, do código-fonte da classe Memoria, apresenta a implementação do método
que instancia a classe quantas vezes forem necessárias.
C
As linhas 19 até 21, do código-fonte da classe Memoria, podem ser substituídas pela linha 5 para
permitir que uma instância da classe Memoria seja criada, possibilitando o acesso, por qualquer
outra classe, aos métodos get e set implementados.
D A linha 5, do código-fonte da classe Memoria, apresenta uma implementação opcional do
método que permite a instanciação da classe Memoria.
Para que se utilize os conceitos e, consequentemente, tire-se proveito das vantagens da
programação orientada a objetos, faz-se necessária a utilização de uma linguagem de programação
que permita a implementação do encapsulamento, da herança e do polimorfismo. A linguagem de
programação Java implementa estas características de maneira rígida, o que a torna bastante eficiente
no ensino da programação orientada a objetos. No que se refere à plataforma Java, analise as
sentenças a seguir:
I- O Java é considerado multiplataforma, pois é possível executar aplicações Java em qualquer
sistema operacional ou dispositivo que tenha uma implementação da Máquina Virtual Java (JVM).
II- O c++ teve sua sintaxe baseada no Java, dado o grande número de programadores da linguagem.
III- A máquina virtual permite que o Java gerencie de forma direta e sem interferência os recursos do
sistema operacional, como acesso à rede e ao disco.
IV- É possível desenvolver em Java com diversos editores gratuitos existentes no mercado.
Agora, assinale a alternativa CORRETA:
A As sentenças I e IV estão corretas.
B As sentenças II e III estão corretas.
C As sentenças I e II estão corretas.
D As sentenças II e IV estão corretas.
Todas as classes em Java herdam implicitamente a classe Object e, dessa forma, herdam
também métodos. Dentre os métodos herdados podemos destacar o "equals()" e o "hashCode()",
ambos utilizados pelo Framework de coleções da linguagem de programação Java. Acerca desses
dois métodos, classifique V para as sentenças verdadeiras e F para as falsas:
( ) O operador"==" é uma maneira simplificada de se chamar o método "equals()".
( ) Ao escrevermos uma classe, devemos utilizar a anotação @Replace para sobrescrever os
métodos "equals()" e "hashCode()".
( ) Coleções que utilizam tabelas de dispersão (também conhecidas por tabelas hash) para
armazenamento fazem uso direto do método "hashCode()".
( ) O método "equals()" é utilizado pelas coleções que não permitem repetições para determinar a
6
7
03/02/2023 18:32 Avaliação Final (Objetiva) - Individual
about:blank 5/6
igualdade entre objetos.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
A V - V - V - F.
B F - F - F - V.
C F - V - V - F.
D F - F - V - V.
Classe representa um conjunto de objetos com características afins.
Sobre o exposto, assinale a alternativa CORRETA:
A Uma classe pertence a um objeto quando os atributos de uma pode pertencer a outra.
B
Uma classe de objetos descreve um grupo de objetos com propriedades (atributos) similares,
comportamento (operações) similares, relacionamentos comuns com outros objetos e uma
semântica comum. Por exemplo, Pessoa e Companhia são classes de objetos.
C Nenhuma das alternativas.
D Um objeto pode ser uma classe por ter atributos semelhantes.
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 - F - F - V.
B V - V - V - F.
8
9
03/02/2023 18:32 Avaliação Final (Objetiva) - Individual
about:blank 6/6
C V - V - F - V.
D F - V - F - V.
Em combinação com a definição de pacotes e classes, os modificadores de visibilidade
constituem-se de uma ferramenta poderosa na definição da segurança e encapsulamento da aplicação.
Com relação à utilização de modificadores de visibilidade na linguagem de programação Java,
analise as sentenças a seguir:
I- Um método com modificador default contido em uma classe pública não pode ser acessado em
uma classe disponível em outro pacote.
II- Um método com modificador public contido em uma classe pública somente pode ser acessado
por uma classe disponível em outro pacote através do comando import.
III- Uma classe com modificador default pode ser acessada por uma classe de outro pacote com o
comando import.
IV- Um método private colocado em uma classe com o modificador default não pode ser acessado
por outra classe dento do mesmo pacote.
Agora, assinale a alternativa CORRETA:
A As sentenças II e III estão corretas.
B As sentenças I, II e IV estão corretas.
C Somente a sentença IV está correta.
D Somente a sentença II está correta.
10
Imprimir