Buscar

Prova 2 - Objetiva POO

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

23/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYxIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gSUkgLSBJbmRpdmlkdWFsIiwicGFyYW1ldGVyIjo1NDksImV4YW1Db2… 1/5
GABARITO | Avaliação II - Individual
Peso da Avaliação
1,50
Qtd. de Questões
10
Acertos/Erros
8/2
Nota
8,00
Classes abstratas são um recurso poderoso da linguagem Java para criação de abstrações. Utilizando classes abstratas pode-se alcançar bons
níveis de reutilização de código-fonte, além de fortalecer e favorecer o conceito de polimorfismo, permitindo a reutilização e a extensão de estado e
comportamento entre classes. Sobre as características das classes abstratas, analise as sentenças a seguir: 
 
I- Classes abstratas, por via de regra, não podem gerar objetos, mas construtores abstratos, construtores especiais, podem ser utilizados por essas
classes para permitir que objetos sejam criados. 
II- Os métodos concretos de uma classe abstrata podem ser compartilhados, sem alterações, por todas as suas classes concretas geradas. 
III- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe concreta deve implementar todos os métodos abstratos presentes na
hierarquia. 
IV- Em uma hierarquia de classes abstratas, a primeira ocorrência de uma classe concreta deve alterar todos os métodos concretos presentes na
hierarquia. 
 
Assinale a alternativa CORRETA:
A As sentenças II e III estão corretas.
B As sentenças II e IV estão corretas.
C As sentenças I e II estão corretas.
D As sentenças III e IV estão corretas.
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
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").
 VOLTAR
Alterar modo de visualização
1
2
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas 
16
23/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYxIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gSUkgLSBJbmRpdmlkdWFsIiwicGFyYW1ldGVyIjo1NDksImV4YW1Db2… 2/5
B
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....".
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....".
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 não apresenta nenhum problema de sintaxe. 
II- O método competirPor(int pais) está gerando erro de sintaxe e não usa corretamente a palavra-chave void. 
III- O método competirPor(int pais) não gera erros de sintaxe, e não necessita da palavra-chave abstract antes da palavra-chave void. 
IV- O método "competir(String modalidade)" gera erro de sintaxe. 
 
Assinale a alternativa CORRETA:
A As sentenças II e III estão corretas.
B As sentenças II e IV estão corretas.
C As sentenças III e IV estão corretas.
D As sentenças I e III estão corretas.
A utilização do recurso de Pacotes em Java permite uma melhor organização do código-fonte, além de permitir que duas ou mais classes tenham
o mesmo nome em pacotes diferentes. Juntamente com eles, o uso dos modificadores de visibilidade compõe uma fórmula poderosa no tocante à
definição de segurança e encapsulamento de um programa ou aplicação. Sobre a utilização de modificadores de visibilidade na linguagem de
programação Java, classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O modificador "default", aplicado para uma classe, permite o acesso a essa classe por uma classe de outro pacote através do comando import. 
( ) O modificador "default", definido para um método contido em uma classe pública, impede que o método seja acessado por outra classe criada em
outro pacote. 
( ) O modificador "private", definido para um método contido em uma classe com o modificador "default", não impede que o método seja acessado
por outra classe criada no mesmo pacote. 
( ) O modificador "public", definido para um método contido em uma classe pública, elimina qualquer tipo de restrição de acesso ao método, mesmo
que ele seja acessado em uma classe criada em outro pacote. 
 
Assinale a alternativa que apresenta a sequência CORRETA:
A V - F - F - V.
B F - V - F - V.
3
4
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas 
16
23/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYxIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gSUkgLSBJbmRpdmlkdWFsIiwicGFyYW1ldGVyIjo1NDksImV4YW1Db2… 3/5
C F - F - F - F.
D V - V - V - F.
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 superclasse das classes contidas na área indicada pela letra B. 
II- Quadrado é uma classe filha da classe FormaGeometrica. 
III- O método enfatizado pela letra C, calcularArea(), está sobrescrevendo a implementação da superclasse de Triangulo. 
IV- A classe FormaGeometrica também é conhecida na linguagem Java como JGF. 
 
Agora, assinale a alternativa CORRETA:
A As sentenças I, II e III estão corretas.
B As sentenças I e IV estão corretas.
C As sentenças II e IV estão corretas.
D Somente a sentença III está correta.
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, reutilização e 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 F - F - V - F.
B V - V - F - F.
C V - V - F - V.
D V - F - F - V.
5
6
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas 
16
23/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYxIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gSUkgLSBJbmRpdmlkdWFsIiwicGFyYW1ldGVyIjo1NDksImV4YW1Db2…4/5
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 A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma classe.
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 Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso private.
Uma das principais vantagens em se desenvolver um software utilizando o paradigma da orientação a objetos, é a reutilização de código-fonte,
tornando-o mais legível e fácil de realizar manutenção. Neste sentido, podemos exemplificar a facilidade de manutenção com a necessidade de criar
uma coluna em uma tabela, gravando um valor fixo. Neste caso, basta alterar o método que realiza a inserção de registro nesta tabela, e o software está
alterado, mesmo que o método seja invocado por mais de uma classe. Analise o código-fonte a seguir e classifique V para as sentenças verdadeiras e F
para as falsas: 
 
( ) Devido à herança, a linha 31 está correta. 
( ) A classe "Carro" herda o método "getNomeModelo()" da classe "Veiculo". 
( ) A classe "Veiculo" herda os métodos com modificador "public" da classe "Carro". 
( ) Ocorre uma relação de herança entre as duas classes, sendo que a classe "Carro" herda atributos e métodos da classe "Veiculo". 
 
Assinale a alternativa que apresenta a sequência CORRETA:
A V - V - F - V.
B F - V - F - F.
C V - F - F - V.
D V - V - V - F.
Os modificadores de acesso possuem o objetivo de tornar classes, métodos ou atributos visíveis ou invisíveis, facilitando o seu encapsulamento.
Com estes modificadores, podemos, por exemplo, liberar o acesso de um atributo de uma classe X por uma classe Y. Analise o código-fonte a seguir e
classifique V para as sentenças verdadeiras e F para as falsas: 
 
( ) O método "getCodigo()"da classe "Carro" é visível em todas as classes do pacote. 
( ) O método "getCodigo()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. 
( ) O método "getValor()"da classe "Carro" é visível somente na subclasse de um relacionamento de herança. 
( ) O método "getModelo()"da classe "Carro" é visível somente dentro da própria classe "Carro". 
7
8
9
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas 
16
23/06/2021 AVA
https://ava2.uniasselvi.com.br/subject/grades-and-tests/answer-book/eyJ0ZXN0Ijp7InRlc3RDb2RlIjoiNjcwODYxIiwiZGVzY3JpcHRpb24iOiJBdmFsaWHn428gSUkgLSBJbmRpdmlkdWFsIiwicGFyYW1ldGVyIjo1NDksImV4YW1Db2… 5/5
 
Assinale a alternativa que apresenta a sequência CORRETA:
A V - V - F - F.
B F - F - V - V.
C F - V - F - F.
D V - V - V - F.
O encapsulamento ajuda a diminuir o acoplamento entre os objetos de um sistema, pois prega que somente o que é absolutamente necessário
deve ser exposto aos demais. Com relação ao encapsulamento, assinale a alternativa CORRETA:
A Um bom cidadão é um objeto que tem todos os valores de seus atributos preenchidos no momento da instanciação.
B Métodos também podem ser ocultados, no sentido de garantir um maior encapsulamento.
C Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos.
D O alto acoplamento é positivo, pois permite que os objetos se comuniquem com mais facilidade.
10
Marcelo Augusto Kuhn
Análise e Desenvolvimento de Sistemas 
16

Outros materiais