Buscar

Programação Orientada a Objetos - Avaliação II - Individual

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

03/07/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 1/7
Acadêmico: Diego dos Reis Soares (1901312)
Disciplina: Programação Orientada a Objetos (ADS17)
Avaliação: Avaliação II - Individual ( Cod.:670861) ( peso.:1,50)
Prova: 33404233
Nota da Prova: 8,00
Legenda: Resposta Certa Sua Resposta Errada 
1. 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 III e IV estão corretas.
 d) As sentenças I e II estão corretas.
03/07/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 2/7
2. 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 III estão corretas.
 b) As sentenças I e II estão corretas.
 c) As sentenças III e IV estão corretas.
 d) As sentenças II e IV estão corretas.
3. 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) V - V - F - V.
 b) V - F - F - V.
 c) F - F - V - F.
 d) V - V - F - F.
03/07/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 3/7
4. 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) 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....".
 c) Não existe polimorfismo implementado entre as classes do código-fonte apresentado.
 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").
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) Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java
através do modificador de acesso private.
 b) A coesão, embora seja uma característica importante, não auxilia o encapsulamento de
uma classe.
 c) Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer
manutenção diminui.
 d) Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
03/07/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 4/7
6. O paradigma da orientação a objetos aplicada no desenvolvimento de software possui a
vantagem de tornar o código-fonte reutilizável, mais legível, e fácil de realizar manutenção. O
polimorfismo permite que outras classes representem o comportamento de classes que elas
referenciam. Com relação às classes criadas no código-fonte, analise as sentenças a seguir:
(1)public class Veiculo {
(2) public void parar(){}
(3)}
(4)
(5)public class Motocicleta extends Veiculo{
(6) public void parar(){
(7) System.out.println("Parando a motocicleta!!");
(8) } 
(9)}
(10)
(11)//Veiculo utilitario esporte (SUV: Sport Utility Vehicle)
(12)public class Suv extends Veiculo{
(13) public void parar(){
(14) System.out.println("Parando o veículo utilitário!!");
(15) } 
(16)}
(17)
(18)public class Principal {
(19) public static void main(String[] args){
(20) Veiculo veiculo1 = new Motocicleta();
(21) Veiculo veiculo2 = new Suv(); 
(22) 
(23) veiculo1.parar();
(24) veiculo2.parar(); 
(25) } 
(26)}
I- Apesar do código-fonte não lidar com classes abstratas, existe o polimorfismo
implementado entre as classes do exemplo.
II- Ao executarmos a classe Principal, ocorrerá um erro designando que a instância da classe
Veiculo nas linhas 20 e 21 são inválidas, pois recebem a instância de classes de outro tipo
(Motocicleta e Suv).
III- A classe Veiculo referencia o comportamento das classes Motocicleta e Suv, e ao
executarmos a classe Principal, será impresso primeiramente a mensagem (Parando a
motocicleta!!)e depois (Parando o veículo utilitário!!).
IV- As classes Motocicleta e Suv referenciam o comportamento da classe Veiculo, e ao
executarmos a classe Principal, será impresso primeiramente a mensagem (Parando o
veículo utilitário!!) e depois (Parando a motocicleta!!).
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.
03/07/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 5/7
7. 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) F - V - F - F.
 b) V - F - F - V.
 c) V - V - V - F.
 d) V - V - F - V.
03/07/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 6/7
8. A herança, juntamente ao encapsulamento, o polimorfismo e a abstração, representa um dos
pilares da programação orientada a objetos e pode, quando bem modelada e utilizada,
diminuir o esforço na manutenção do código-fonte. Considerando o relacionamento de
herança entre duas ou mais classes, classifique V para as sentenças verdadeiras e F para as
falsas:
( ) A herança possibilita o compartilhamento de atributos entre uma superclasse subclasse,
limitando esse compartilhamento para os atributos indicados com o modificador "private".
( ) A palavra-chave extends define que uma classe está estendendo outra, que em outras
palavras significa o uso de herança na linguagem de programação Java.
( ) A herança possibilita o compartilhamento de métodos entre uma superclasse subclasse,
limitando esse compartilhamento para alguns tipos especiais de métodos.
( ) A herança de métodos é possível, porém os métodos construtores podem ser reescritos
através do polimorfismo.
Assinale a alternativa que apresenta a sequência CORRETA:
 a) V - V - V - F.
 b) F - V - F - F.
 c) V - F - F - V.
 d) F - F - V - V.
9. 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:
03/07/2021 UNIASSELVI - Centro Universitário Leonardo Da Vinci - Portal do Aluno - Portal do Aluno - Grupo UNIASSELVI
https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php 7/7
 a) As sentenças II e IV estão corretas.
 b) Somente a sentença III está correta.
 c) As sentenças I e IV estão corretas.
 d) As sentenças I, II e III estão corretas.
10.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) Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos.
 c) O alto acoplamento é positivo, pois permite que os objetos se comuniquem com mais
facilidade.
 d) Métodos também podem ser ocultados, no sentido de garantir um maior encapsulamento.
Prova finalizada com 8 acertos e 2 questões erradas.

Continue navegando