Buscar

Prog Oriendata a Objeto Avaliação II - Individual Semipresencial - Out-2019 peso1,50

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 5 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

Prévia do material em texto

Disciplina: Programação Orientada a Objetos 
Avaliação: Avaliação II - Individual Semipresencial ( peso.:1,50) 
Prova: 13603914 Out-2019 
Nota da Prova: 10,00 
Legenda: Resposta Certa Sua Resposta Errada 
1. 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 parte do 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 relação ao encapsulamento, assinale a alternativa 
CORRETA: 
 a) O encapsulamento evita que alguma entidade externa altere os valores dos atributos de um objeto 
indevidamente. 
 b) O encapsulamento permite a instância de uma classe em memória. 
 c) Ao ocultar detalhes do código-fonte, aumenta-se o acoplamento. 
 d) A interface exposta de uma classe, se alterada para privada, encapsulada, não requer cuidado para os 
métodos chamadores. 
 
2. 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) 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"). 
 c) Não existe polimorfismo implementado entre as classes do código-fonte apresentado. 
 d) 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...." 
 
 
. 
 
3. 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) Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do 
modificador de acesso private. 
 b) Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer manutenção 
diminui. 
 c) Uma classe coesa é, necessariamente, uma classe com alto acoplamento. 
 d) A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe. 
 
4. 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) As sentenças II e III estão corretas. 
 b) As sentenças I e II estão corretas. 
 c) Somente a sentença I está correta. 
 d) Somente a sentença II está correta. 
 
 
 
5. O Polimorfismo de inclusão permite que se defina um novo comportamento para um objeto sem que se 
faça alterações nos que já estão funcionando, minimizando consideravelmente os custos e reduzindo o 
tempo para novas implementações. Considerando que a figura a seguir traz duas classes relacionadas a 
uma interface, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O método encript() da interface é implicitamente abstrato. 
( ) Na linguagem de programação Java, demonstraríamos que SHA implementa IAlgoritmoCriptografia 
através da palavra reservada extends. 
( ) Um método existente em outra classe cuja assinatura seja ?public void 
criptografar(IAlgoritmoCriptografia iac)? pode receber como parâmetro tanto um objeto da classe SHA 
quanto um objeto da classe DES. 
( ) Podemos dizer que tanto SHA quanto DES implementam IAlgoritmoCriptografia. 
 
Agora, assinale a alternativa que apresenta a sequência CORRETA: 
 
 a) V - V - F - V. 
 b) V - F - V - V. 
 c) V - V - F - F. 
 d) F - V - F - V. 
 
6. Na linguagem de programação Java, uma boa prática de desenvolvimento de software é programar 
orientado a objetos, embora a linguagem permita a programação procedural. No paradigma da orientação 
a objetos, encapsulamento pode ser descrito como ocultar atributos, métodos ou classes. Isto é realizado 
através de alguns modificadores de visibilidade, os quais são implementados. Com relação a estes 
modificadores de visibilidade, assinale a alternativa CORRETA: 
 a) O modificador private fornece acesso a todas as classes da aplicação. 
 b) O modificador default fornece visibilidade dentro da própria classe. 
 c) O motificador protected fornece visibilidade para todas as classes dentro do mesmo pacote. 
 d) O modificador public para uma classe fornece visibilidade desta classe em todas as demais classes da 
aplicação. 
 
7. Em combinação com a definição de pacotes e classes, os modificadores de visibilidade constituem-se de 
uma ferramenta poderosa na definição da segurança e encapsulamento da aplicação. Com relação à 
utilização de modificadores de visibilidade na linguagem de programação Java, analise as sentenças a 
seguir: 
 
I- Um método com modificador default contido em uma classe pública não pode ser acessado em uma 
classe disponível em outro pacote. 
II- Um método com modificador public contido em uma classe pública somente pode ser acessado por 
uma classe disponível em outro pacote através do comando import. 
III- Uma classe com modificador default pode ser acessada por uma classe de outro pacote com o 
 
 
comando import. 
IV- Um método private colocado em uma classe com o modificador default não pode ser acessado por 
outra classe dento do mesmo pacote. 
 
Agora, assinale a alternativa CORRETA: 
 a) Somente a sentença II está correta. 
 b) As sentenças II e III estão corretas. 
 c) As sentenças I, II e IV estão corretas. 
 d) Somente a sentença IV está correta. 
 
8. 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 - V - V. 
 b) V - F - F - V. 
 c) V - V - V - F. 
 d) F - V - F - F. 
 
9. 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, III e IV estão corretas. 
 b) Somente a afirmativa I está correta. 
 c) As afirmativas II e IV estão corretas. 
 d) As afirmativas I e IV estão corretas. 
 
10. 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) 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ção entre estas torna-se 
mais difícil. 
 d) Em um sistema em que ocorre alto acoplamento, a performance tende a ser baixa.

Continue navegando