Buscar

Conceitos de Programação Orientada 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

Continue navegando


Prévia do material em texto

22/06/22, 15:39 Avaliação II - Individual
1/7
Prova Impressa
GABARITO | Avaliação II - Individual (Cod.:739605)
Peso da Avaliação 1,50
Prova 49658756
Qtd. de Questões 10
Acertos/Erros 8/2
Nota 8,00
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, e a correta 
sintaxe aplicada ao polimorfismo de sobrecarga para os dois métodos construtores da referida classe, 
classifique V para as sentenças verdadeiras e F para as falsas: 
public class Bicicleta{ 
 private char tamanhoQuadro; 
 private int numeroMarchas; 
 private char tamanhoRoda; 
 
 public void movimentar(){ 
 System.out.println("O objeto bike está em movimento!!"); 
 } 
} 
( ) 
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.numeroMarchas = numeroMarchas; 
 this.tamanhoRoda = tamanhoRoda; 
} 
public Bicicleta(char tQuadro, int nMarchas){ 
 this.tamanhoQuadro = tQuadro; 
 this.numeroMarchas = nMarchas; 
} 
( ) 
public Bicicleta(int numeroMarchas, char tamanhoRoda, char tamanhoQuadro){ 
 this.numeroMarchas = numeroMarchas; 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.tamanhoRoda = tamanhoRoda; 
} 
public Bicicleta(char roda){ 
 this.tamanhoRoda = roda; 
} 
( ) 
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.tamanhoRoda = tamanhoRoda; 
} 
 VOLTAR
A+ Alterar modo de visualização
1
22/06/22, 15:39 Avaliação II - Individual
2/7
public Bicicleta(char tamanhoQuadro, int numeroMarchas){ 
 this.tamanhoQuadro = tamanhoQuadro; 
 this.numeroMarchas = numeroMarchas; 
 this.tamanhoRoda = tamanhoRoda; 
} 
( ) 
public Bicicleta(){ 
 this.numeroMarchas = numeroMarchas; 
} 
public Bicicleta(char tamanhoQuadro, int numeroMarchas, char tamanhoRoda){ 
} 
Assinale a alternativa que apresenta a sequência CORRETA:
A F - V - V - F.
B V - F - F - V.
C V - V - F - F.
D F - V - F - V.
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 O alto acoplamento é positivo, pois permite que os objetos se comuniquem com mais
facilidade.
B Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos.
C Um bom cidadão é um objeto que tem todos os valores de seus atributos preenchidos no
momento da instanciação.
D Métodos também podem ser ocultados, no sentido de garantir um maior encapsulamento.
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 
2
3
22/06/22, 15:39 Avaliação II - Individual
3/7
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").
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
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....".
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 Uma classe coesa é, necessariamente, uma classe com alto acoplamento.
B A coesão, embora seja uma característica importante, não auxilia o encapsulamento de uma
classe.
C Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através
do modificador de acesso private.
D Se uma classe tiver uma e somente uma responsabilidade, a probabilidade de esta sofrer
manutenção diminui.
4
22/06/22, 15:39 Avaliação II - Individual
4/7
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 - F.
B V - F - F - V.
C F - F - V - F.
D V - V - F - V.
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, classifique V para as sentenças 
verdadeiras e F para as falsas: 
(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) } 
5
6
22/06/22, 15:39 Avaliação II - Individual
5/7
(26)} 
( ) Não existe o polimorfismo implementado entre as classes do exemplo, uma vez que a classe 
Veiculo não é uma classe abstrata. 
( ) 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). 
( ) Existe o polimorfismo implementado entre as classes do exemplo, mesmo a classe Veiculo sendo 
uma classe concreta. 
( ) 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!!). 
Assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V - V.
B V - F - F - V.
C F - V - V - F.
D V - V - F - F.
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, ouso 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 F - V - F - V.
B F - F - F - F.
C V - V - V - F.
D V - F - F - V.
7
22/06/22, 15:39 Avaliação II - Individual
6/7
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 F - V - F - F.
B V - F - V - V.
C V - F - F - V.
D V - V - V - F.
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 III estão corretas.
B As sentenças I e IV estão corretas.
C As sentenças II e IV estão corretas.
8
9
22/06/22, 15:39 Avaliação II - Individual
7/7
ç
D As sentenças II e III estão corretas.
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) não está gerando nenhum erro de sintaxe e está usando 
corretamente a palavra-chave void. 
III- O método competirPor(int pais) gera erros de sintaxe, logo 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 II e IV estão corretas.
B As sentenças II e III estão corretas.
C As sentenças I e II estão corretas.
D As sentenças III e IV estão corretas.
10
Imprimir