Buscar

Avaliação II - Individual FLEX

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 3 páginas

Prévia do material em texto

Acadêmico: Douglas Longaray de Matos (1807477)
Disciplina: Programação Orientada a Objetos (ADS17)
Avaliação: Avaliação II - Individual FLEX ( Cod.:513379) ( peso.:1,50)
Prova: 20604625
Nota da Prova: 10,00
Legenda: Resposta Certa Sua Resposta Errada 
1. A linguagem de programação Java permite a definição de classes abstratas, que representam ferramentas poderosas na definição de relacionamentos de herança e, consequente, 
extensão de estado e comportamento. Com relação às classes abstratas da linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) Uma classe abstrata somente pode ser instanciada a partir de um construtor abstrato. 
( ) Uma classe abstrata não pode possuir métodos concretos. 
( ) Os métodos concretos de uma classe abstrata podem ser reutilizados, sem alteração em suas subclasses. 
( ) Em uma hierarquia de herança, a primeira classe abstrata deve prover implementação para os métodos abstratos. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - V - F - V.
 b) F - F - V - F.
 c) V - F - F - V.
 d) V - V - F - F.
2. 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 s
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 II e III estão corretas.
 c) As sentenças I e II estão corretas.
 d) As sentenças I e III estão corretas.
3. O polimorfismo é um mecanismo poderoso da programação orientada a objetos, pois permite que se adicionem novas funcionalidades a um software sem alterar partes desse mesm
que já estejam funcionando. Com relação ao polimorfismo, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O polimorfismo de sobreposição consiste na colocação de novos parâmetros em outro método que possua o mesmo nome de um método já existente. 
( ) O polimorfismo paramétrico é altamente dependente da linguagem de programação, por este motivo nem todas as linguagens de programação orientadas a objetos o implemen
( ) A sobrecarga permite redefinir completamente um método, substituindo-o nas classes que fizerem uso deste tipo de polimorfismo. 
( ) As interfaces são uma maneira eficiente de implementar o polimorfismo. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) F - V - F - V.
 b) V - V - F - V.
 c) V - V - V - F.
 d) V - F - F - V.

4. Por intermédio da herança, um dos pilares da programação orientada a objetos, é possível reaproveitarmos características e comportamentos já implementados em outras classes s
necessidade de realizar a cópia de código-fonte. Com relação a esse conceito, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super. 
( ) A implementação de herança múltipla em Java não é possível. 
( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada "derives". 
( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) F - V - F - V.
 b) V - F - F - V.
 c) F - F - V - V.
 d) V - V - V - F.
5. De acordo com o paradigma da programação orientada a objetos, o relacionamento de herança difere-se do relacionamento de associação especialmente pela definição dos tipos e
Considerando a figura a seguir, classifique V para as sentenças verdadeiras e F para falsas: 
 
( ) O relacionamento mais adequado entre Personagem e Gladiador é o de herança. 
( ) Um Personagem tem uma arma, o que caracterizaria um relacionamento de associação. 
( ) Se Personagem está associado a uma arma e Gladiador é subclasse de Soldado, necessariamente Gladiador tem uma arma. 
( ) O relacionamento mais adequado entre Gladiador e Soldado é o de associação. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) F - V - F - F.
 b) V - F - F - V.
 c) V - V - F - F.
 d) V - V - V - V.
6. Uma das principais características da orientação a objetos é a possibilidade de ocultar partes do código de um objeto, chamada de encapsulamento. Com o encapsulamento, cada p
código-fonte é menor e independente de outras partes, isto é, cada método é específico, realizando uma única operação, tornando o código-fonte mais reutilizável e legível. Com rel
encapsulamento, assinale a alternativa CORRETA:
 a) A interface exposta de uma classe, se alterada para privada, encapsulada, não requer cuidado para os métodos chamadores.
 b) Ao ocultar detalhes do código-fonte, aumenta-se o acoplamento.
 c) O encapsulamento permite a instância de uma classe em memória.
 d) O encapsulamento evita que alguma entidade externa altere os valores dos atributos de um objeto indevidamente.
7. 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 
classes anteriores, podendo receber a invocação de qualquer um dos dois objetos (classes instanciadas), executando a operação correta. Conforme exemplificado, a implementaçã
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
assinale a alternativa CORRETA:
 a) As classes abstratas "Carro" e "Caminhao" referenciam o comportamento da classe "Veiculo", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "A
caminhão...." e depois "Acelerando o carro....".
 b) 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 out
("Carro" e "Caminhao").
 c) A classe abstrata "Veiculo" referencia o comportamento das classes "Carro" e "Caminhao", e ao ser executada a classe "Teste", será impresso primeiramente a mensagem "Acel
carro...." e depois "Acelerando o caminhão....".
 d) Não existe polimorfismo implementado entre as classes do código-fonte apresentado.
8. A utilização de classes abstratas permite uma maior confiabilidade na definição da hierarquia de herança, pois possui características especiais que impedem sua utilização de forma
outros desenvolvedores. Considerando que as palavras sublinhadas na figura a seguir representam erros de compilação, classifique V para as sentenças e F para as falsas: 
 
( ) Bastaria colocar a palavra reservada abstract na frente da palavra class para resolver todos os problemas da classe. 
( ) Uma classe abstrata pode possuir métodos concretos. 
( ) Somente classes abstratas podem possuir métodos abstratos. 
( ) O primeiro método imprime() deve receber um parâmetro de qualquer tipo para que seu erro de compilação seja corrigido. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA:
 a) V - V - F - F.
 b) V - F - F - V.
 c) V - V - F - V.
 d) F - V - V - F.
9. 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
um malefício causado pelo alto acoplamento:
 a) Em um sistema em que ocorre alto acoplamento, a performance tende a ser baixa.
 b) Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código fonte.
 c) Em uma situação na qual duas classes são fortemente acopladas, a comunicaçãoentre estas torna-se mais difícil.
 d) O alto acoplamento impede que os objetos se comuniquem livremente através de mensagens, deixando o sistema pouco flexível.
10. Os modificadores de acesso são palavras reservadas da linguagem de programação Java e definem os padrões de visibilidade de acesso às classes, aos atributos e aos métodos. 
intermédio dos modificadores de acesso, é possível ocultar determinadas partes do código, dividindo o programa em partes menores e independentes e esta ação, de ocultar e/ou d
conhecida como encapsulamento Acerca do conceito de encapsulamento e dos modificadores de acesso da linguagem de programação Java, analise as afirmativas a seguir: 
 
I- Uma declaração com o modificador "public" permite o acesso de qualquer lugar do projeto Java e por qualquer entidade que possa visualizar a classe a que ela pertença. 
II- Os membros de uma classe declarados com o modificador "protected" não podem ser acessados ou utilizados por nenhuma outra classe. 
III- Métodos declarados como "default" só podem ser acessados a partir dos métodos da própria classe. 
IV- O Java define quatro modificadores de visibilidade: "private", "public", "protected" e "default". 
 
Agora, assinale a alternativa CORRETA:
 a) Somente a afirmativa I está correta.
 b) As afirmativas I e IV estão corretas.
 c) As afirmativas II e III estão corretas.
 d) As afirmativas II, III e IV estão corretas.
Prova finalizada com 10 acertos e 0 questões erradas.

Continue navegando