Baixe o app para aproveitar ainda mais
Prévia do material em texto
03/12/2023, 13:34 Avaliação Final (Objetiva) - Individual about:blank 1/7 Prova Impressa GABARITO | Avaliação Final (Objetiva) - Individual (Cod.:825703) Peso da Avaliação 3,00 Prova 67689639 Qtd. de Questões 10 Acertos/Erros 3/6 Canceladas 1 Nota 4,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. Referente aos códigos-fonte que implementam um exemplo da aplicação Singleton e sua execução para a classe Memoria, classifique V para as sentenças verdadeiras e F para as falsas: (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) (3) Memoria memoria1 = Memoria.getInstance(); (4) System.out.println(memoria1); (5) } ( ) Na linha 3, do código-fonte de execução da classe Memoria, o trecho Memoria.getInstance() cria, e retorna, um objeto único da classe Memoria. ( ) A linha 5, do código-fonte de classe Memoria, utiliza um modificador de visibilidade igual ao padrão usado nas implementações de classes Java, e é usado como um recurso de segurança do padrão Sigleton. ( ) A linha 3, do código-fonte de execução da classe Memoria, poderia ser substituído pelo código Memoria memoria1 = new Memoria(), sem qualquer prejuízo para o funcionamento chave do padrão VOLTAR A+ Alterar modo de visualização 1 03/12/2023, 13:34 Avaliação Final (Objetiva) - Individual about:blank 2/7 Singleton. ( ) A linha 5, do código-fonte da classe Memoria, utiliza um modificador de visibilidade que foge ao padrão usado nas implementações de classes Java, uma vez que complementa a capacidade do padrão Singleton em permitir a criação de apenas um objeto para as classes as quais os comportamentos necessitam dessa condição. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - F - V. B F - F - V - V. C F - V - V - F. D V - V - F - F. Paradigma de programação (estilo) é um meio de se classificar as linguagens de programação baseado em suas funcionalidades. As linguagens podem ser classificadas em vários paradigmas. Um paradigma de programação fornece e determina a visão que o programador possui sobre a estruturação e execução do programa. Sobre o paradigma funcional, analise as sentenças a seguir: I – O foco desse paradigma está na avaliação de funções. II – A linguagem F# da Microsoft é uma linguagem funcional. III – Está baseado na avaliação da memória RAM IV – A linguagem Lisp da Oracle é uma linguagem funcional. V – A linguagem Elixir não é uma linguagem funcional. Assinale a alternativa CORRETA: A As sentenças I e II estão corretas. B As sentenças I e III estão corretas. 2 03/12/2023, 13:34 Avaliação Final (Objetiva) - Individual about:blank 3/7 C As sentenças II e V estão corretas. D As sentenças I e IV estão corretas. 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: (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) (3) Memoria memoria1 = Memoria.getInstance(); (4) System.out.println(memoria1); (5) } I- A linha 5, do código-fonte da classe Memoria, define um modificador de visibilidade diferente do padrão usado nas implementações de classes Java, porém trata-se de um recurso de segurança do padrão Sigleton. II- A linha 3, do código-fonte de execução da classe Memoria, pode ser substituído pelo código: Memoria memoria1 = new Memoria(). III- Se a linha 3, do código-fonte de execução da classe Memoria, fosse substituído pelo código Memoria memoria1 = new Memoria(), isso geraria um erro uma vez que o método construtor não pode ser invocado dessa forma para a classe em questão. IV- Os métodos get e set, do código-fonte da classe Memoria, são de menos importância para o contexto do padrão Singleton, uma vez que não lidam com o principal atributo (memoryInstance) para a utilização desse padrão na classe em questão. 3 03/12/2023, 13:34 Avaliação Final (Objetiva) - Individual about:blank 4/7 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, II e IV estão corretas. D As sentenças II, III e IV estão corretas. Os padrões de projeto auxiliam o desenvolvimento de software orientado a objetos, solucionando problemas rotineiros que normalmente ocorrem durante as etapas desse 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. Sendo assim, referente ao código-fonte que implementa um exemplo da aplicação Singleton para a classe Conexao, classifique V para as sentenças verdadeiras e F para as falsas: (1) public class Conexao{ (2) private static Conexao instancia; (3) private int numeroConexoes; (4) (5) private Conexao(){ (6) } (7) (8) public static Conexao 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)} ( ) A linha 3 do código-fonte da classe "Conexao" é o atributo que apresenta uma das características do padrão Singleton. ( ) A linha 2 do código-fonte da classe "Conexao" é o atributo que apresenta uma das características do padrão Singleton. ( ) As linhas 8 até 13 do código-fonte da classe "Conexao" apresenta a implementação do método que instancia a classe quantas vezes forem necessárias. ( ) As linhas 15 até 17 do código-fonte da classe "Conexao" apresenta a implementação do método que instancia a classe quantas vezes forem necessárias. Assinale a alternativa que apresenta a sequência CORRETA: A F - V - V - F. 4 03/12/2023, 13:34 Avaliação Final (Objetiva) - Individual about:blank 5/7 B V - F - F - V. C F - V - F - V. D V - V - F - F. A herança é um dos pilares da programação orientada a objetos e pode, quando bem utilizada, diminuir o esforço na manutenção do código fonte. Com relação ao relacionamento de herança entre duas ou mais classes, analise as sentenças a seguir: I- Através da herança, é possível reaproveitar atributos já definidos em uma classe mãe. II- Uma classe filha pode herdarde quantas superclasses quiser na linguagem de programação Java. III- Não é possível herdar a implementação de métodos, visto que todos devem ser reescritos através do polimorfismo. IV- A palavra inherits define a herança na linguagem de programação Java. Agora, assinale a alternativa CORRETA: A Somente a sentença IV está correta. B As sentenças II e III estão corretas. C As sentenças I, II e IV estão corretas. D Somente a sentença I está correta. O encapsulamento é um dos pilares da programação orientada a objetos, e sua utilização de forma correta serve como embasamento para os outros dois pilares: a herança e o polimorfismo. Com relação ao encapsulamento, assinale a alternativa CORRETA: A Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos. B Através do encapsulamento, podemos proteger os valores internos dos objetos de acessos desnecessários. C O encapsulamento permite que os objetos se comuniquem através de mais caminhos. D O objetivo principal do encapsulamento é obter um alto acoplamento entre as classes. Um objeto é uma instância particular de uma classe, ou seja, um conjunto de informações em memória que não é repetido para nenhum outro objeto daquela classe. Em contrapartida, existem algumas situações em que o valor de um atributo não muda para nenhuma instância da classe. A linguagem de programação Java endereça essa situação através do modificador static. Com relação às características do modificador static, analise as sentenças a seguir: I- Métodos não podem ser marcados com o modificador static, sendo esta uma característica exclusiva dos atributos. II- Um atributo static somente pode ser acessado dentro de um método static. 5 6 7 03/12/2023, 13:34 Avaliação Final (Objetiva) - Individual about:blank 6/7 III- Um atributo não static não pode ser acessado dentro de um método static. IV- Métodos não static não acessam atributos do tipo static. Agora, assinale a alternativa CORRETA: A As sentenças II e III estão corretas. B Somente a sentença IV está correta. C Somente a sentença III está correta. D As sentenças I, II e IV estão corretas. Durante a execução de um programa em uma linguagem orientada a objeto, como Java, são definidas diversas classes e estas são carregadas para a memória durante a execução do programa. Como essa carga é chamada? A Alocação. B Extensão. C Instanciação. D Inclusão. 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 - F - F - V. 8 9 03/12/2023, 13:34 Avaliação Final (Objetiva) - Individual about:blank 7/7 B V - V - V - F. C F - V - F - V. D V - V - F - V. 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. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - F - V. B V - F - V - F. C F - V - V - V D F - V - F - F. 10 Imprimir
Compartilhar