Buscar

av2 Programacao orietada 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 II - Individual ( Cod.:677028) ( peso.:1,50)
Prova: 33273162
Nota da Prova: 6,00
Legenda: Resposta Certa Sua Resposta Errada 
1. 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 II e IV estão corretas.
 b) As afirmativas I e IV estão corretas.
 c) Somente a afirmativa I está correta.
 d) As afirmativas II, III e IV estão corretas.
2. Define-se um objeto como a instância de uma classe, um objeto pode ser considerado como a
"materialização" de uma classe. A linguagem de programação Java utiliza uma categoria
especial de métodos para essa função, os chamados construtores que são invocados através do
operador "new". Sobre a utilização de métodos construtores na linguagem de programação Java,
classifique V para as sentenças verdadeiras e F para as falsas:
( ) Se não forem definidos parâmetros de inicialização, a linguagem de programação Java
utiliza um construtor padrão sem parâmetros.
( ) Se uma classe contiver pelo menos um construtor com parâmetros, a instanciação de
objetos com o construtor implícito, não declarado na classe, sem parâmetros (vazio) deixa de
existir.
( ) Uma classe pode conter quantos construtores forem necessários, considerando a
combinação de seus atributos, inclusive o construtor sem parâmetros.
( ) Uma classe pode conter apenas uma quantidade de construtores igual à quantidade de
seus atributos.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - F - V.
 b) V - V - V - F.
 c) V - V - V - V.
 d) F - F - F - F.
3. Diz-se que no paradigma da orientação a objetos, os objetos podem criar relações entre si, e
duas maneiras de se estabelecer uma relação entre objetos são através da associação e da
herança que devem ser utilizados na solução de problemas diferentes. Sobre esses
relacionamentos, analise as sentenças a seguir:
I- Quando um relacionamento de associação é estabelecido entre duas ou mais classes,
significa que os objetos dessas classes estão relacionados, de alguma maneira, no mundo real.
II- Nos relacionamentos de associação, o conceito de superclasse é utilizado de maneira
diferente do que nos relacionamentos de herança.
III- Os relacionamentos do tipo "associação" são implementados na linguagem de programação
Java através das palavras reservadas "associate to".
IV- Um relacionamento que responde de maneira positiva à pergunta "é um tipo de" representa
uma herança.
Assinale a alternativa CORRETA:
 a) As sentenças I e IV estão corretas.
 b) As sentenças II e III estão corretas.
 c) As sentenças I e III estão corretas.
 d) As sentenças II e IV estão corretas.
4. A sobrecarga de métodos, considerada um tipo de polimorfismo, é um mecanismo que permite
que dois ou mais métodos compartilhem o mesmo nome, contanto que tenham diferentes
conjuntos de parâmetros. Dessa forma, com o código-fonte apresentado, referente à classe
Bicicleta, analise as sentenças a seguir sobre a correta sintaxe aplicada ao polimorfismo de
sobrecarga para os dois métodos construtores da referida classe:
public class Bicicleta{
private char tamanhoQuadro;
private int numeroMarchas;
private char tamanhoRoda;
public void movimentar(){
System.out.println("O objeto bike está em movimento!!");
} 
}
I-
public Bicicleta(char tamanhoQuadro, int numeroMarchas){
this.tamanhoQuadro = tamanhoQuadro;
this.numeroMarchas = numeroMarchas;
}
public Bicicleta(){
this.tamanhoQuadro = tamanhoQuadro;
this.numeroMarchas = numeroMarchas;
}
II-
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){
this.tamanhoQuadro = tamanhoQuadro;
this.numeroMarchas = numeroMarchas;
this.tamanhoRoda = tamanhoRoda;
}
public Bicicleta(){
}
III-
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){
this.tamanhoQuadro = tamanhoQuadro;
this.numeroMarchas = numeroMarchas;
this.tamanhoRoda = tamanhoRoda;
}
public Bicicleta(int numeroMarchas, char tamanhoRoda){
this.tamanhoQuadro = tamanhoQuadro;
this.numeroMarchas = numeroMarchas;
this.tamanhoRoda = tamanhoRoda;
}
IV-
public Bicicleta(int numeroMarchas){
this.numeroMarchas = numeroMarchas;
}
public Bicicleta(char tamanhoQuadro, int numeroMarchas){
this.tamanhoQuadro = tamanhoQuadro;
this.numeroMarchas = numeroMarchas;
}
Assinale a alternativa CORRETA:
 a) As sentenças I e II estão corretas.
 b) As sentenças II e III estão corretas.
 c) As sentenças III e IV estão corretas.
 d) As sentenças II e IV estão corretas.
5. Quanto maior o acoplamento entre duas classes, maior o grau de relacionamento entre estas, o
que é contrário aos princípios do encapsulamento. Assinale a alternativa CORRETA que
explique um malefício causado pelo alto acoplamento:
 a) O alto acoplamento impede que os objetos se comuniquem livremente através de
mensagens, deixando o sistema pouco flexível.
 b) Em um sistema em que ocorre alto acoplamento, a performance tende a ser baixa.
 c) Em uma situação na qual duas classes são fortemente acopladas, a comunicação entre estas
torna-se mais difícil.
 d) Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente,
mais difícil a manutenção do código fonte.
6. 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, a
seguir, e classifique V para as sentenças verdadeiras e F para as falsas:
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); 
 }
 
}
( ) A classe em questão não apresenta problemas de sintaxe.
( ) O método competirPor(int pais) está gerando erro de sintaxe e usa incorretamente a
palavra-chave void.
( ) O método competirPor(int pais) possui um retorno de tipo definido.
( ) O método "competir(String modalidade)" não gera erro de sintaxe e usa a palavra-chave
abstract corretamente.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - V - V.
 b) F - F - V - V.
 c) F - F - F - F.
 d) V - V - V - V.
7. 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 tem como superclasse a classe FormaGeometrica. 
Agora, assinale a alternativa CORRETA:
 a) Somente a sentença I está correta.
 b) As sentenças I e III estão corretas.
 c) As sentenças IIe III estão corretas.
 d) As sentenças I e II estão corretas.
8. Através do encapsulamento, é possível deixar o software mais manutenível, através da
centralização de responsabilidades, ocultação de implementação e exposição de interfaces.
Com relação ao encapsulamento e sua implementação na linguagem de programação Java,
analise as sentenças a seguir:
I- Atributos também podem ser ocultados, no sentido de garantir um maior encapsulamento.
II- O modificador default permite o acesso padrão a todos dentro da mesma aplicação.
III- Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente,
mais difícil a manutenção do código fonte.
IV- Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java
através do modificador de acesso protected.
Agora, assinale a alternativa CORRETA:
 a) Somente a sentença II está correta.
 b) As sentenças I e III estão corretas.
 c) As sentenças III e IV estão corretas.
 d) Somente a sentença IV está correta.
9. O polimorfismo é implementado de muitas formas dentro da linguagem de programação Java,
sendo que uma das mais utilizadas é a criação e a implementação de interfaces. Considerando
a criação e a utilização de interfaces dentro da linguagem de programação Java, analise o
código fonte da figura a seguir e classifique V para as sentenças verdadeiras e F para as falsas:
( ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12.
( ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia.
( ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o método
gerarChaveCripto(Date data).
( ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA.
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - V - F - V.
 b) V - V - F - F.
 c) V - F - V - V.
 d) F - V - F - F.
10.Na linguagem de programação Java, existem os modificadores de acesso que fornecem
visibilidade ou invisibilidade para classes, métodos ou atributos. Através destes modificadores
de acesso, pode-se tornar um atributo acessível para outra classe, por exemplo, ou ainda torná-
lo visível apenas dentro da própria classe. Analise o código-fonte, escrito em linguagem de
programação Java, a seguir e classifique V para as sentenças verdadeiras e F para as falsas: 
( ) A classe "Carro" é visível em todas as demais classes da aplicação.
( ) Os atributos "codigo" e "modelo" são visíveis por todas as classes que delegarem a classe
"Carro".
( ) O atributo "valor" é acessível apenas na subclasse do relacionamento de herança, se
houver.
( ) O atributo "qtdePortas" é visível por todas as classes que delegarem a classe "Carro".
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - F - F - V.
 b) F - V - F - F.
 c) V - V - V - F.
 d) V - F - V - V.
Prova finalizada com 6 acertos e 4 questões erradas.

Continue navegando