Buscar

av final Programacao Orientada a Objetos

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Acadêmico: Tiago Rosa da Silva (3252647)
Disciplina: Programação Orientada a Objetos (ADS17)
Avaliação: Avaliação Final (Objetiva) - Individual Semipresencial ( Cod.:670863) ( peso.:3,00)
Prova: 34141793
Nota da Prova: 8,00
Legenda: Resposta Certa Sua Resposta Errada 
1. 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 apresenta problemas de sintaxe.
II- O método competirPor(int pais) não está gerando erro de sintaxe e usa corretamente a palavra-chave
void.
III- O método competirPor(int pais) gera erros de sintaxe, e 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 III e IV estão corretas.
 c) As sentenças I e III estão corretas.
 d) As sentenças II e IV estão corretas.
2. Os padrões de projeto auxiliam o desenvolvimento de software orientado a objetos, solucionando
problemas rotineiros que normalmente ocorrem durante as etapas desse desenvolvimento. Dentre os
padrões, pode-se citar o Singleton, que descreve uma implementação na qual uma classe é instanciada
uma única vez durante a execução de uma aplicação. Sendo assim, referente ao código-fonte que
implementa um exemplo da aplicação Singleton para a classe Conexao, classifique V para as sentenças
verdadeiras e F para as falsas:
(1) public class Conexao{
(2) private static Conexao instancia;
(3) private int numeroConexoes;
(4) 
(5) private Conexao(){
(6) }
(7)
(8) public static Conexao getInstance() {
(9) if(instancia == null) {
(10) instancia = new Conexao();
(11) }
(12) return instancia;
(13) }
(14) 
(15) public int getNumeroConexoes() {
(16) return this.numeroConexoes;
(17) }
(18) 
(19) public void setNumeroConexoes(int numeroConexoes) {
(20) this.numeroConexoes = numeroConexoes; 
(21) }
(22)} 
( ) A linha 3 do código-fonte da classe "Conexao" é o atributo que apresenta uma das características do
padrão Singleton.
( ) A linha 2 do código-fonte da classe "Conexao" é o atributo que apresenta uma das características do
padrão Singleton.
( ) As linhas 8 até 13 do código-fonte da classe "Conexao" apresenta a implementação do método que
instancia a classe quantas vezes forem necessárias.
( ) As linhas 15 até 17 do código-fonte da classe "Conexao" apresenta a implementação do método que
instancia a classe quantas vezes forem necessárias.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) F - V - F - V.
 b) V - V - F - F.
 c) V - F - F - V.
 d) F - V - V - F.
3. O framework Collections da plataforma Java possui um conjunto de interfaces e implementações que
permitem, entre outras funcionalidades, determinar a ordenação de um grupo de objetos com base em
suas características. Acerca da ordenação de objetos, analise as afirmativas a seguir:
I- Para ordenar objetos de uma mesma classe, deve-se garantir que tal classe implemente a interface
Comparable ou utilize um provider.
II- A implementação do método "compareTo" varia conforme o contexto/critério em que a ordenação é
aplicada.
III- No Java, só é possível ordenar classes Wrappers.
IV- Para ordenarmos uma coleção de objetos, podemos utilizar método estático "sort" da classe "ArrayList"
Agora, assinale a alternativa CORRETA:
 a) Somente a sentença IV está correta.
 b) As sentenças I e II estão corretas.
 c) Somente a sentença III está correta.
 d) As sentenças I, II e IV estão corretas.
4. Existem quatro plataformas para a programação em Java: Java Platform Standard Edition (Java SE), Java
Platform Enterprise Edition (Java EE), Java Platform Mobile Edition (Java ME) e Java FX. Cada plataforma
é destinada a um tipo diferente de aplicação e possui o seu conjunto de APIs. Com relação à plataforma
Java ME, analise as afirmativas a seguir:
I- Utiliza um subconjunto das bibliotecas disponibilizadas pela Java Platform Standard Edition. 
II- Plataforma que comporta o desenvolvimento de aplicações móveis, bem como aplicações escritas em
JavaFX Script. 
III- Permite a criação de RIA (Rich Internet Applications) usando interfaces aceleradas por hardware. 
IV- Em determinados dispositivos, é possível executar aplicações desenvolvidas para Java ME sem a
presença de uma JVM (Java Virtual Machine).
Agora, assinale a alternativa CORRETA:
 a) Somente a afirmativa I está correta.
 b) As afirmativas II e III estão corretas.
 c) As afirmativas II, III e IV estão corretas.
 d) As afirmativas I e IV estão corretas.
5. 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 aos códigos-fonte
que implementam um exemplo da aplicação Singleton e sua execução para a classe Memoria, classifique V
para as sentenças verdadeiras e F para as falsas:
(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) 
(19) public void setQuantidadeMemoria (float quantidadeMemoria) {
(20) this.quantidadeMemoria = quantidadeMemoria;
(21) }
(22)}
(1) public static void main(String[] args){
(2)
(3) Memoria memoria1 = Memoria.getInstance();
(4) System.out.println(memoria1);
(5) } 
( ) Na linha 3, do código-fonte de execução da classe Memoria, o trecho Memoria.getInstance() cria, e
retorna, um objeto único da classe Memoria.
( ) A linha 5, do código-fonte de classe Memoria, utiliza um modificador de visibilidade igual ao padrão
usado nas implementações de classes Java, e é usado como um recurso de segurança do padrão Sigleton.
( ) A linha 3, do código-fonte de execução da classe Memoria, poderia ser substituído pelo código
Memoria memoria1 = new Memoria(), sem qualquer prejuízo para o funcionamento chave do padrão
Singleton.
( ) A linha 5, do código-fonte da classe Memoria, utiliza um modificador de visibilidade que foge ao padrão
usado nas implementações de classes Java, uma vez que complementa a capacidade do padrão Singleton
em permitir a criação de apenas um objeto para as classes as quais os comportamentos necessitam dessa
condição.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - F - V.
 b) F - V - V - F.
 c) F - F - V - V.
 d) V - V - F - F.
6. No paradigma de orientação a objetos, uma classe é uma estrutura que abstrai um conjunto de objetos que
possuem características em comum, e é composta, geralmente, por três elementos básicos: nome,
atributos e métodos. Com relação aos métodos, assinale a alternativa CORRETA:
 a) Também conhecidos como operações, os métodos descrevem as funcionalidades de uma determinada
classe.
 b) Os métodos definem o estado de um determinado objeto, enquanto ele está na memória do computador.
 c) Na definição de uma classe, deve-se estabelecer uma constante que indica o seu número máximo de
métodos.
 d) Métodos de uma classe Java têm como objetivo apenas a mudança do estadode um objeto.
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) F - V - V - F.
 b) V - V - V - F.
 c) F - F - F - V.
 d) F - F - V - V.
8. A coesão é a característica que faz com que uma classe tenha somente uma responsabilidade dentro do
sistema, o que faz com que a sua correção, em caso de erros ou a manutenção em caso de evolução, seja
simplificada. No que se refere à coesão de uma classe, assinale a alternativa CORRETA:
 a) Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção
diminui.
 b) Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
 c) A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe.
 d) Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do
modificador de acesso private.
9. O polimorfismo é caracterizado quando duas ou mais classes possuem o mesmo nome de método ou
operação, e outra classe, abstrata, possui um método com mesmo nome dos métodos das classes
anteriores, podendo receber a invocação de qualquer um dos dois objetos (classes instanciadas),
executando a operação correta. Conforme exemplificado, a implementação de polimorfismo pode ocorrer
através de uma classe abstrata, cujos métodos são declarados, mas não definidos. Com relação ao código-
fonte a seguir e ao polimorfismo da orientação a objetos, assinale a alternativa CORRETA:
 a) A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser
executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o carro...." e depois
"Acelerando o caminhão....".
 b) Não existe polimorfismo implementado entre as classes do código-fonte apresentado.
 c) As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser
executada a classe "Teste", será impresso primeiramente a mensagem "Acelerando o caminhão...." e
depois "Acelerando o carro....".
 d) Ao ser executada a classe "Teste", ocorrerá um erro designando que a instância da classe "Veiculo" nas
linhas 19 e 20 são inválidas, pois recebem a instância de classes de outro tipo ("Carro" e "Caminhao").
10.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:
( ) A linha 1 define, através da palavra reservada "package", que a classe está agrupada, mas sem
precisar obedecer as suas responsabilidades dentro de uma aplicação.
( ) Já que o método "Aluno()" não possui parâmetros as linhas 7 a 9 geram erros de compilação.
( ) Pode-se afirmar que o tipo de dados do atributo "nome", existente na classe aluno é do tipo booleano.
( ) Pode-se afirmar que o tipo de dados do atributo "matricula", existente na classe aluno é do tipo
numérico.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - V - F.
 b) F - F - V - V.
 c) V - F - V - V.
 d) F - F - F - V.
Prova finalizada com 8 acertos e 2 questões erradas.

Continue navegando