Buscar

Programação Orientada a Objetos Avaliação Final (Objetiva)

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando