Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Disciplina: Programação Orientada a Objetos (ADS17) Avaliação: Avaliação Final (Objetiva) - Individual FLEX ( Cod.:456753) ( peso.:3,00) Prova: 13847192 Nota da Prova: 7,00 Legenda: Resposta Certa Sua Resposta Errada Parte superior do formulário 1. Uma classe define um conjunto de características e comportamentos comuns a um determinado conjunto de objetos. Com relação à criação de classes dentro da programação orientada a objetos, assinale a alternativa CORRETA: a) Os métodos ou operações descrevem o estado interno dos objetos. b) Uma classe é composta por 4 partes: nome, atributos, estado e comportamento. c) Ao criarmos uma nova classe, definimos um novo tipo de variável através da qual podem ser instanciados objetos. d) O comportamento de um objeto pode ser determinado através da análise de seu estado. 2. 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) V - F - F - V. b) F - F - V - F. c) V - F - V - F. d) V - V - F - F. 3. 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 subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe Triangulo implementa a interface FormaGeometrica. Agora, assinale a alternativa CORRETA: a) Somente a sentença I está correta. b) As sentenças II e III estão corretas. c) Somente a sentença II está correta. d) As sentenças I e II estão corretas. 4. A programação orientada a objetos tem como uma de suas principais características a combinação de estado e comportamento em suas entidades, conhecidas como classes. Com relação ao estado e ao comportamento de objetos na linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Todos os métodos devem retornar um tipo de dado, que pode inclusive ser uma classe. ( ) A palavra reservada void indica que um método não possui retorno. ( ) Na declaração ?Aluno retornarMelhorAluno()?, o método retornará um dado do tipo String. ( ) O número máximo de parâmetros de um método é igual ao número de atributos da classe em que este método estiver. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - F. b) V - V - V - F. c) V - F - F - V. d) F - V - F - F. 5. A linguagem de programação Java possui diversos operadores, como operadores aritméticos, operadores lógicos, operadores relacionais e operadores binários. Cada operador é aplicado conforme necessário, porém, em situações que precisamos realizar a comparação entre dois valores numéricos, utilizamos, normalmente, os operadores relacionais. Considerando o código apresentado na figura anexa, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O resultado das expressões nas linhas 7, 8 e 11 é, respectivamente, "false", "true" e "true". ( ) Apenas as expressões das linhas 7, 10 e 11 apresentarão resultado "true". ( ) O resultado da linha 7 só seria "true" se o valor armazenado na variável 'var1' fosse múltiplo do valor armazenado na variável 'var2'. ( ) O valor que será impresso no console do Java após a execução da linha 9 é "true". Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - V. b) V - F - F - V. c) V - V - V - F. d) F - F - V - V. 6. A programação orientada a objetos permite o desenvolvimento de códigos-fonte utilizando o encapsulamento, que evita ou diminui o acoplamento, dependência dos códigos-fonte, e aumenta a coesão, que é o princípio da responsabilidade única de um trecho de código-fonte ou um método, por exemplo. Além disso, o polimorfismo é outra vantagem da programação orientada a objetos, o qual possibilita a manutenção futura sem necessitar de muitas alterações. Com relação ao encapsulamento, assinale a alternativa CORRETA: a) O polimorfismo possui a desvantagem de tornar as classes com maior quantidade de código-fonte. b) O polimorfismo permite que um único nome de classe represente diferentes códigos-fonte. c) O polimorfismo apenas ocorre quando o modificador dos métodos da classe forem "protected". d) O principal objetivo do polimorfismo é a capacidade de herdar métodos e classes para uma subclasse. 7. 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 igualdade entre objetos. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) F - V - V - F. c) F - F - F - V. d) F - F - V - V. 8. Por intermédio da herança e do encapsulamento, é possível implementarmos o polimorfismo, mecanismo que permite que duas ou mais classes derivadas de uma mesma superclasse possam criar e/ou invocar métodos com a mesma assinatura, mas com comportamentos diferentes. Com relação ao conceito de polimorfismo e sua implementação na linguagem Java, analise as afirmativas a seguir: I- Polimorfismo de inclusão, polimorfismo paramétrico, sobreposição e sobrecarga são exemplos de tipos de polimorfismo. II- O Java não permite a implementação do polimorfismo paramétrico. III- A técnica de sobrecarga pode ser utilizada para distinguir, em uma determinada classe, dois métodos com o mesmo nome, o mesmo retorno e o mesmo conjunto de argumentos, mas com uma lógica diferente. IV- Na sobrecarga de métodos, é necessário utilizar a anotação @Override. Agora, assinale a alternativa CORRETA: a) As afirmativas I e IV estão corretas. b) As afirmativas II, III e IV estão corretas. c) Somente a afirmativa I está correta. d) As afirmativas II e IV estão corretas. 9. Assim como na programação procedural, a programação orientada a objetos tem recursos para tratamentos de erros. Neste sentido, a plataforma Java possui recursos robustos que tratam os erros que podem acontecer em tempo de execução, tanto para exceções verificadas quanto para as não verificadas. É importante que o programador trate as possíveis exceções que podem ocorrer, pois, caso contrário, elas estourarão no usuário. Partindo desse pressuposto, classifique V para as sentenças verdadeiras e F para falsas: ( ) Na linguagem de programação Java, podemos tratar as exceções através dos comandos "try{} catch(){}". ( ) Na linguagem de programação Java, quanto um comando tenta acessar um índice inválido de um ArrayList, será retornada a exceção "ArrayIndexOutOfBoundException". ( ) As exceções não verificadas podem ser tratadas através de validações no código-fonte, evitando a ocorrência de erros. ( ) Uma exceção nunca pode ser delegada pelo método que invocou um determinado método, o qual pode sofrer uma exceção, devendo ser tratado sempre no próprio método. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - F. b) V - F - F - V. c) V - V - V - F. d) F - V - F - F. 10. Uma das dificuldades enfrentadas pelos desenvolvedores Java na criação de suas aplicações é a questão da persistência de dados. A maioria das empresas utiliza bancos de dados relacionais, cujo funcionamento não é compatível com os sistemas desenvolvidos, utilizando o paradigma de programação orientada a objetos. Para resolver esse problema de incompatibilidade, criou-se um padrão de projeto chamado de Data Access Object (DAO). Com relação ao padrão de projeto DAO e ao mapeamento objeto relacional, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O DAO sempre exige a implementação de um Singleton. ( ) Uma das vantagens de uma implementação de DAO bem feita é o desacoplamento do banco de dados, permitindo sua troca sem grandes alterações na camada de persistência. ( ) A camada de mapeamento objeto relacional trabalha com operações somente no sentido objeto->banco de dados. ( ) Atualmente, a recomendação para mapeamento objeto relacional na plataforma Java é a Java Persistence API (JPA), que possui diversas implementações e é uma evolução do JDBC, embora ainda o utilize como base. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) F - V - F - V. b) F - F - V - V. c) V - F - V - F. d) V - F - F - V. Parte inferior do formulário
Compartilhar