Prévia do material em texto
23/03/2023, 16:03 Avaliação Final (Objetiva) - Individual
about:blank 1/5
Prova Impressa
GABARITO | Avaliação Final (Objetiva) - Individual
(Cod.:768339)
Peso da Avaliação 3,00
Prova 59217335
Qtd. de Questões 10
Acertos/Erros 6/3
Canceladas 1
Nota 7,00
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.
Com isso em mente, avalie as sentenças referentes aos códigos-fonte que implementam um exemplo
da aplicação Singleton, e sua execução, para a classe Memoria e 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)
(19) public void setQuantidadeMemoria (float quantidadeMemoria) {
(20) this.quantidadeMemoria = quantidadeMemoria;
(21) }
(22)}
(1) public static void main(String[] args){
(2) Memoria memoria2;
(3) Memoria memoria1 = Memoria.getInstance();
(4) memoria2 = new Memoria();
(5)
(6) System.out.println(memoria1);
(7) }
A A linha 3, do código-fonte da execução da classe Memoria, tem como função declarar uma
variável do tipo da classe em questão.
VOLTAR
A+
Alterar modo de visualização
1
23/03/2023, 16:03 Avaliação Final (Objetiva) - Individual
about:blank 2/5
B A linha 4, do código-fonte da execução da classe Memoria, gera um erro uma vez que o método
construtor não pode ser invocado dessa forma para a classe em questão.
C A linha 4, do código-fonte da execução da classe Memoria, cria um objeto da classe em questão
em conjunto com a declaração da variável memoria2 existente na linha 2.
D O método getInstance(), do código-fonte da classe Memoria, apresenta um função semelhante ao
método getQuantidadeMemoria() e por isso iniciam com o prefixo get.
A própria API do Java implementa a herança em diversos locais. Nas APIs descritas a seguir, assinale
a alternativa INCORRETA:
A Format, NumberFormat e SimpleDateFormat.
B NumberFormat, DateFormat e DecimalFormat.
C TextFormat, MessageFormat e ChoiceFormat.
D MessageFormat, ChoiceFormat e SimpleDateFormat.
O DAO propõe a criação de um conjunto de classes onde cada classe representa um conceito de
objeto mapeado para uma ou mais tabelas do banco de dados. Algumas vantagens adicionais podem
ser obtidas. Sobre essas funções, assinale a alternativa INCORRETA:
A A função primordial do DAO é fazer a tradução de objetos em strings e de strings em objetos.
B
Abstração completa do mecanismo de persistência: a aplicação em si não precisa conhecer
absolutamente nada sobre o mecanismo de persistência, bastando conhecer somente a interface
externa do DAO.
C
Coesão: uma camada DAO bem implementada concentra todas as funções de persistência e
configuração de banco, facilitando alterações futuras.
D Troca de mecanismo de persistência: caso o mecanismo de persistência deva ser trocado, basta
trocar o DAO e todo o resto poderá continuar funcionando perfeitamente.
Na programação orientada a objetos da linguagem Java, apenas os métodos dentro da classe
conseguem acessar seus atributos, tanto para ler como para modificar. Métodos de outras classes não
conseguem acessar diretamente esses atributos. Assim, pode se obter o conceito de encapsulamento.
Existem dois métodos especiais para acessar os métodos e atributos de outras classes que são private.
Sobre o nome desses métodos, analise as sentenças a seguir:
I – Método getters.
II – Método setters.
III – Método main.
IV – Método return.
V – Método Set.
Assinale a alternativa CORRETA:
2
3
4
23/03/2023, 16:03 Avaliação Final (Objetiva) - Individual
about:blank 3/5
A As sentenças I e III estão corretas.
B As sentenças I e II estão corretas.
C As sentenças I e IV estão corretas.
D As sentenças II e V estão corretas.
Atenção: Esta questão foi cancelada, porém a pontuação foi considerada.
A estrutura de uma classe na linguagem de programação Java comporta um nome, um conjunto
de atributos, também conhecido 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:
( ) Se o método calcularMedia(), chamado na linha 9, retorna um valor, esse valor é com certeza do
tipo numérico.
( ) Todas as classes Java de uma aplicação devem possuir um método chamado de main.
( ) Substituindo a linha 6 pela instrução "Aluno a = null;" ocasionaremos erro de compilação no
código.
( ) A linha 5 marca o que é conhecido como o ponto de entrada da aplicação.
Assinale a alternativa que apresenta a sequência CORRETA:
A V - F - F - V.
B F - F - V - V.
C V - V - F - V.
D V - F - V - F.
A plataforma Java é dividida em quatro grandes grupos, cada um para um tipo diferente de aplicação.
Existe um grupo que disponibiliza as principais funcionalidades da linguagem de programação Java.
Ele define os tipos primitivos e objetos desde os mais básicos até os de mais alto nível, utilizados
para redes, segurança, acesso a banco de dados, interface gráfica e parsing de XML.
Qual é esse grupo?
A Java Enterprise Edition (JEE).
B Java Standard Edition (JSE).
5
6
23/03/2023, 16:03 Avaliação Final (Objetiva) - Individual
about:blank 4/5
C JavaFX.
D Java Mobile Edition (JME).
Na Orientação a Objetos, a Classe é um elemento de construção fundamental.
Sobre os elementos que constituem uma Classe, assinale a alternativa CORRETA:
A Nome, atributo e método.
B Nome, parâmetros e função.
C Tipo de dados, característica e funcionalidade.
D Nome, módulo e função.
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 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.
B É um padrão de projeto que restringe a instanciação de uma classe para um objeto.
C
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.
D É um padrão de projeto que não restringe a instanciação de uma classe para um objeto.
Na programação orientada a objetos, o polimorfismo é a habilidade de objetos de classes diferentes
responderem à mesma mensagem de maneiras diferentes.
Sobre um tipo de polimorfismo, assinale a alternativa CORRETA:
A Polimorfismo de classificação.
B Polimorfismo de abstração.
C Polimorfismo de instanciação.
D Polimorfismo de sobrecarga.
Os padrões de projeto auxiliam o desenvolvimento de software orientado a objetos,
solucionando problemas rotineiros que normalmente ocorrem durante as etapas desse
7
8
9
10
23/03/2023, 16:03 Avaliação Final (Objetiva) - Individual
about:blank 5/5
desenvolvimento. Dentre os padrões, pode-se citar o Singleton, que 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 Conexao, analise as
sentenças a seguir:
(1) public class Conexao{
(2) private int numeroConexoes;
(3) private static Conexao instancia;
(4)
(5) private Conexao(){
(6) }
(7)
(8) public staticConexao getInstance() {
(9) if(instancia == null) {
(10) instancia = new Conexao();
(11) }
(12) return instancia;
(13) }
(14)
(15) public int getNumeroConexoes() {
(16) return this.numeroConexoes;
(17) }
(18)
(19) public void setNumeroConexoes(int numeroConexoes) {
(20) this.numeroConexoes = numeroConexoes;
(21) }
(22)}
I- As linhas 5 e 6 do código-fonte representam uma implementação opcional, construtor privado, que
pode ser retirado da classe Conexao uma vez que um construtor privado impede a instanciação da
referida classe.
II- As linhas 5 e 6 do código-fonte representam uma implementação de um construtor privado
necessário à classe Conexao, que apesar de violar o conceito "público" dos métodos construtores,
impede uma instanciação padrão da referida classe realizada por outras classes.
III- Os métodos get e set implementados, juntamente com o atributo "numeroConexoes", não
representam uma associação direta com o conceito do padrão Singleton.
IV- As linhas 2 e 3 do código-fonte da classe "Conexao" compõem os atributos que apresentam uma
das características do padrão Singleton.
Assinale a alternativa CORRETA:
A As sentenças III 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.
Imprimir