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