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