Você está na página 1de 6

Disciplina: Programação Orientada a Objetos (ADS17)

Avaliação Final (Objetiva) - Individual FLEX ( Cod.:456753)


Avaliação:
( peso.:3,00)
Prova: 13847192
Nota da
7,00
Prova:
Legenda:   Resposta Certa    Sua Resposta Errada  

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.

Você também pode gostar