Buscar

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 77 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 77 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 9, do total de 77 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

Local: AUDITÓRIO - EAD - Auditório / Andar / Polo Barra da Tijuca / POLO UVA BARRA MARAPENDI - RJ
Acadêmico: EAD-IL10311-20194A
Aluno: DANIEL FRANCISCO ALVES FELICIANO
Avaliação: A2-
Matrícula: 20182300254
Data: 22 de Novembro de 2019 - 14:30 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 7,50/10,00
1  Código: 36871 - Enunciado: Um desenvolvedor Java precisa implementar os métodos de acesso da classe Usuário,
que possui os seguintes atributos: nomeUsuário, nomeLogin e senha (todos do tipo String).Compare as possíveis
soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do método que permite
realizar a atribuição e o armazenamento na memória da propriedade nomeLogin. Lembrando que o nomeLogin só
será atribuído se o texto passado como parâmetro não estiver vazio.
 a) public void setNomeLogin(n) {       if(n.isEmpty()) {             nomeLogin = n;       }        else {             
System.out.println("valor inválido, não foi atribuído");       }}
 b) public void setNomeLogin(String n) {      nomeLogin = n;}
 c) public void setNomeLogin(String n) {     if(!n.isEmpty()) {           nomeLogin = n;    }     else {       
System.out.println("valor inválido, não foi atribuído");    }}
 d) public void getNomeLogin(String n) {      if(!n.isEmpty()) {            nomeLogin = n;      }       else {           
System.out.println("valor inválido, não foi atribuído");      }}
 e) public String setNomeLogin(String n) {      if(!n.isEmpty()) {           nomeLogin = n;      }       else {           
System.out.println("valor inválido, não foi atribuído");      }}
Alternativa marcada:
c) public void setNomeLogin(String n) {     if(!n.isEmpty()) {           nomeLogin = n;    }     else {       
System.out.println("valor inválido, não foi atribuído");    }}
Justificativa: Resposta correta: public void setNomeLogin(String n) {                        if(!n.isEmpty()) {                                   
nomeLogin = n;                        }                         else {                                    System.out.println("valor inválido, não foi
atribuído");                        }}
O método de acesso usado para realizar a atribuição e o armazenamento na memória de uma propriedade do
objeto é o Setter. Esses métodos são sempre do tipo void, pois não retornam valores.Como existe a restrição de que
o atributo não pode ser um texto vazio, é necessário verificar se o parâmetro que o método recebe é vazio – por
meio do método isEmpty().isEmpty() – Retorna true se for vazio.Como não queremos que seja um texto vazio,
usamos o operador de negação (!).  Distratores:public void setNomeLogin(String n) {            nomeLogin =
n;}Incorreta. Apesar de utilizar o método de acesso Setter, não valida se o parâmetro n está vazio. public void
getNomeLogin(String n) {                        if(!n.isEmpty()) {                                    nomeLogin = n;                        }                         else
{                                    System.out.println("valor inválido, não foi atribuído");                        }}Incorreta. O método de
acesso Getter é responsável por recuperar da memória os valores atribuídos às propriedades do objeto. Exemplo
de utilização do método Getter corretamente:public String getNomeLogin() {         return nomeLogin;} (Erro:
public String  .....       Correto public void ….)public String setNomeLogin(String n) {                        if(!n.isEmpty()) {           
                        nomeLogin = n;                        }                         else {                                    System.out.println("valor inválido, não
foi atribuído");                        }}
Incorreta. O método de acesso Setter não retorna nada. São sempre do tipo void.
public void setNomeLogin(n) {                        if(n.isEmpty()) {                                    nomeLogin = n;                        }                        
else {                                    System.out.println("valor inválido, não foi atribuído");                        }}Incorreta. São
encontrados dois erros no método acima:1) Precisamos definir o tipo de dados do parâmetro de entrada: public
void setNomeLogin (String n)2) A condição da estrutura condicional está verificando se o parâmetro está vazio e,
caso afirmativo, vai armazenar nulo no atributo nomeLogin. Ficou faltando o operador de negação (!) antes de n   --
-  if( !n.isEmpty()).
1,50/ 1,50
2  Código: 36872 - Enunciado: Durante a implementação de uma classe, o programador decidiu aplicar o conceito de
polimorfismo de sobrecarga. Analise a implementação da classe a seguir para obter as informações necessárias
para a codificação correta do polimorfismo.class PesoIdeal {       String nome, situacao;       int idade;       double peso,
altura;}
Compare as possíveis soluções de métodos apresentadas nas alternativas e avalie qual apresenta corretamente a
implementação do conceito de polimorfismo de sobrecarga.
 a) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
 b) public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) {
}public void cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) { }
1,50/ 1,50
 c) public void cadastroParcial(double p, double a, int i) { }public void cadastroParcial(double p, int i, double a)
{ }public void cadastroParcial(String n, int i, double a) { }public void cadastroParcial(double a, int i, double p) { }
 d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) { }public void
cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double p) { }
 e) public void cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n) { }public void
cadastroParcial3(String n, int i, double p) { }public void cadastroParcial4(String n, int i, double p, double a) { }
Alternativa marcada:
a) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
Justificativa: Resposta correta:public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String
n) { }public void cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p,
double a) { } Assinaturas: cadastroParcial(String, int) { }         cadastroParcial(int, String) { }   cadastroParcial(String,
int, double) { }   cadastroParcial(String, int, double, double) { }
Polimorfismo de sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo nome em uma
mesma classe. Para isso, é importante que esses métodos possuam diferentes assinaturas de métodos.Sobrecarga
de métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é
importante que esses métodos possuam diferentes assinaturas de métodos. Distratores:public void
cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n) { }public void cadastroParcial3(String
n, int i, double p) { }public void cadastroParcial4(String n, int i, double p, double a) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4(). public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) {
}public void cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double
p) { } Assinaturas:  cadastroParcial(String, int i) { }cadastroParcial(String, double) { }cadastroParcial(String, double,
double) { }cadastroParcial(String, double, double) { }
Incorreta. Apesar de os métodos possuíremo mesmo nome, as assinaturas não são diferentes.  O terceiro e o
quarto método possuem a mesma assinatura. public void cadastroParcial(double p, double a, int i) { }public void
cadastroParcial(double p, int i, double a) { }public void cadastroParcial(String n, int i, double a) { }public void
cadastroParcial(double a, int i, double p) { }
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O segundo e o
quarto método possuem a mesma assinatura.Assinaturas:  cadastroParcial(double, double, int) {
}cadastroParcial(double, int, double) { }cadastroParcial(String, int, double) { }cadastroParcial(double, int, double) {
} public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) { }public
void cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) {
} Assinaturas:  cadastroParcial1(double, double) { }cadastroParcial2(double, int, double) { }cadastroParcial3(String,
int, double) { }cadastroParcial4(double, int, String) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4().
3  Código: 36642 - Enunciado: Um desenvolvedor precisa criar uma aplicação financeira para uso com a conversão
de valores entre reais e dólares. Sabe-se que o valor do dólar deve ser alterado durante a execução da aplicação,
mas de forma que, ao se atualizar esse valor por meio de um objeto, todos os demais sejam atualizados
conjuntamente. Para isso, é necessário definir o atributo como compartilhado.Examine as opções de instruções a
seguir e determine aquela que permite que seja definido um atributo cujo valor seja compartilhado, ou seja, ao ser
atualizado o seu valor, todos os demais objetos criados a partir da classe na aplicação serão atualizados.
 a) public double dolar = 4.125;
 b) public const double dolar = 4.125;
 c) public static double dolar = 4.125;
 d) public abstract double dolar = 4.125;
 e) public final double dolar = 4.125;
Alternativa marcada:
b) public const double dolar = 4.125;
Justificativa: Resposta correta: public static double dolar = 4.125;.Um atributo é dito estático quando é
compartilhado por todas as instâncias da classe, ou seja, seu conteúdo é compartilhado por todos os objetos
criados e, quando um objeto realiza uma alteração, o valor é atualizado em todos os demais.
Distratores:public final double dolar = 4.125;. Incorreta. Um atributo é dito final quando o seu valor, após ser
inicializado, não pode mais ser alterado durante a execução da aplicação, o seu valor será constante.public double
dolar = 4.125;. Incorreta. Um atributo sem modificador pode ser alterado durante a execução da aplicação.public
abstract double dolar = 4.125;. Incorreta. Um atributo não pode receber o modificador abstract, que é utilizado
apenas com métodos. Um método abstract é aquele que não é implementado em uma classe abstrata ou
interface.public const double dolar = 4.125;. Incorreta. O modificador const não faz parte da linguagem Java.
0,00/ 1,00
4  Código: 36640 - Enunciado: Durante o desenvolvimento de uma aplicação, notou-se a necessidade de restringir o
acesso do atributo cpf, de forma que somente suas subclasses possam acessá-lo. A figura a seguir representa a
hierarquia das classes que foram implementadas no mesmo pacote.
Examine as opções a seguir, determinando aquela que apresenta corretamente a definição do membro cpf que
atenda ao requisito descrito anteriormente.
 a) protected int cpf;
 b) pakage int cpf;
 c) int cpf;
 d) public int cpf;
 e) private int cpf;
Alternativa marcada:
a) protected int cpf;
Justificativa: Resposta correta: protected int cpf;.Para se definir que um atributo possa ser acessado por
subclasses da classe onde foi declarado, devemos utilizar o conceito de Encapsulamento protected.
Distratores:public int cpf;. Incorreta. Métodos ou atributos public são sempre acessíveis por todos os métodos de
quaisquer outras classes. É o nível menos rígido de proteção no Encapsulamento.int cpf;. Incorreta. Omissão
(pakage ou padrão). A classe, método ou atributo é acessível somente por métodos das classes que pertencem ao
mesmo pacote (pakage).pakage int cpf;. Incorreta. O uso de pakage não é permitido na linguagem Java, a definição
de Encapsulamento por pacote não requer modificador.private int cpf;. Incorreta. Os métodos e atributos private,
são acessíveis somente por membros da própria classe.
1,00/ 1,00
5  Código: 36611 - Enunciado: Considere a classe a seguir:class IMC {      String nome;      double peso, altura;}Sabe-se
que métodos construtores são usados para controlar a criação (instanciação) do objeto e só executam neste
momento e que podem ser sobrecarregados. Sendo assim, qual é a quantidade máxima de métodos construtores
que podemos criar para a classe IMC?
 a) 4.
 b) 5.
 c) 8.
 d) 6.
 e) 7.
Alternativa marcada:
c) 8.
Justificativa: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem a mesma regra da
sobrecarga de métodos, os parâmetros são verificados não de acordo com o identificador, mas sim pela sequência
dos tipos (Assinatura). Sendo assim, podemos criar os seguintes métodos construtores, totalizando 8 métodos
construtores:public IMC() {  }public IMC(String) {  }public IMC(double) {  }public IMC(String, double) {  }public
IMC(double, String) {  }public IMC(String, double, double) {  }public IMC(double, String, double) {  }public
IMC(double, double, String) {  }
0,50/ 0,50
6  Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes métodos de
implementação, que são: compilação, interpretação pura e híbrido. Em relação à linguagem Java, analise as
afirmativas a seguir:I. O código é compilado uma vez, gerando o bytecode, que pode ser interpretado quantas
vezes forem necessárias e em qualquer ambiente java existente.II. O bytecode é dependente do hardware e
so�ware (sistema operacional) do computador onde ocorreu a compilação.III. Atualmente realiza uma compilação
just-int-time (no momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que é capaz de
interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
 a) II e IV.
 b) II e III.
 c) I e III.
 d) III e IV.
 e) I e IV.
Alternativa marcada:
0,00/ 0,50
d) III e IV.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que pode ser
interpretado quantas vezes forem necessárias e em qualquer ambiente java existente. Verdadeira. Java gera um
código intermediário chamado bytecode, que é um código especial de máquina que não leva em consideração um
ambiente específico, mas para um ambiente genérico que independe do ambiente de desenvolvimento.O
interpretador java também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware
que é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um interpretador Java
(JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim, esse interpretador poderá então
executar qualquer aplicação Java desenvolvida para ele. Dessa forma, temos uma JVM específica para cada
ambiente ou dispositivo específico, mas não podemos esquecer que, uma vez compilado um programa ou
aplicação, essa técnica permite que o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do computador onde ocorreu a
compilação. Falsa. O bytecode é uma linguagem de máquina genérica que o processo de compilação da linguagem
Java usa para padronizar as aplicações Java, independentemente do ambiente onde ocorreu o processo de
compilação.Atualmente realiza uma compilação just-int-time (no momento da compilação), com o intuito de
aumentar o desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da execução, na etapa
do interpretador.7  Código: 36882 - Enunciado: No desenvolvimento de um projeto de sistema baseado nos conceitos de
programação orientada a objetos, um desenvolvedor recebeu como tarefa a criação de uma classe. Sabendo-se
que outro desenvolvedor da equipe está criando a classe Veículo, a sua tarefa é desenvolver a classe Carro,
conforme a modelagem a seguir:
Classe Veiculo:Definição dos atributos.Os métodos de acesso dos atributos.Cinco métodos construtores.Métodos:
Imprimir, Cadastrar e EntradaDados. Classe Carro:•             Definição dos atributos.•             Os métodos de acesso dos
atributos.•             Cinco métodos construtores.  Desenvolva a codificação na linguagem Java da classe Carro,
implementando os métodos definidos:Após analisar a situação problema, você deve partir da premissa (certeza)
de que a classe Veiculo já se encontra pronta e de acordo com os critérios apresentados anteriormente.A classe
Carro deverá reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe Veiculo.Lembre-se
de criar apenas a classe Carro.Utilize a boa prática de programação em Java. Cuidado com o tamanho da letra para
que caiba no espaço de resposta.
Resposta:
Comentários: Os métodos não foram implementados.
Justificativa: Expectativa de resposta: import java.util.Scanner; public class Carro extends Veiculo{    String tipo;   
public String getTipo() {        return tipo;    }    public void setTipo(String t) {        tipo = t;     }     public Carro() {       
super(); // Não é obrigatório     }     public Carro(String tipo) {        setTipo(tipo);     }    public Carro(String tipo, String
m) {        super(m); // reaproveitamento         setTipo(tipo);     }    public Carro(String tipo, double p, String m) {     
  super(p, m); // reaproveitamento        setTipo(tipo);     }    public Carro(String tipo, String m, double p) {        super(m,
p); // reaproveitamento        setTipo(tipo);     }}
1,50/ 2,50
8  Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às necessidades de uma
aplicação, utilizando os conceitos de programação orientada a objetos implementada na linguagem
Java.Considere os atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os valores dos atributos do
objeto).Cadastrar (recebe todos os valores dos atributos e armazena no objeto).EntradaDados (realiza a entrada de
dados dos atributos do objeto).
Construa a classe Violao, definindo os seus atributos e implementando os métodos solicitados.Utilize a boa prática
de programação em Java.
Resposta:
Justificativa: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public void imprimir(){   
  System.out.println(“Marca:” + marca);      System.out.println(“Número Cordas:” + numeroCordas);}public void
entradaDados(){      Scanner ent = new Scanner(System.in);      System.out.println(“Marca:”);     
setMarca(ent.nextLine());      System.out.println(“Número Cordas:” + numeroCordas);   
  setNumeroCordas(Integer.parseInt(ent.nextLine()));}public void cadastrar(String m, int nc){      setMarca(m);   
  setNumeroCordas(nc);}}       
1,50/ 1,50
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1d3eef26-
0d5e-11ea-9a43-0242ac110002.jpg?
Signature=eZ4KfV4Q%2FyYZzNTUEqRFZTV7Qkc%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1d3eef26-0d5e-11ea-9a43-0242ac110002.jpg?Signature=eZ4KfV4Q%2FyYZzNTUEqRFZTV7Qkc%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1f1de39c-0d5e-11ea-9a43-0242ac110002.jpg?Signature=7g0GlRpt5grHP1zWziRhSl7Kmc0%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1f1de39c-
0d5e-11ea-9a43-0242ac110002.jpg?
Signature=7g0GlRpt5grHP1zWziRhSl7Kmc0%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3P
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/1f1de39c-0d5e-11ea-9a43-0242ac110002.jpg?Signature=7g0GlRpt5grHP1zWziRhSl7Kmc0%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/20c23446-
0d5e-11ea-9a43-0242ac110002.jpg?
Signature=KuJp%2FmyPjYqCY7iUTKe9vS�cNA%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/22/20c23446-0d5e-11ea-9a43-0242ac110002.jpg?Signature=KuJp%2FmyPjYqCY7iUTKe9vSffcNA%3D&Expires=1574735547&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 1/9
Local: Sala 2 - Sala de Aula / Andar / Polo Campo Grande / POLO CAMPO GRANDE - RJ
Acadêmico: EAD-IL10311-20194A
Aluno: MICHEL SOARES DE ASSIS
Avaliação: A2-
Matrícula: 20184300185
Data: 22 de Novembro de 2019 - 14:30 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 5,90/10,00
1  Código: 36874 - Enunciado: Durante o desenvolvimento de um projeto, verificou-se a necessidade de
implementar as classes Humano, Homem e Mulher. Então, o programador identificou que não há por que criarmos
objetos Humanos e sim objetos Homens e Mulheres.Compare as possíveis soluções apresentadas a seguir e avalie
qual apresenta a correta codificação, de forma que a classe Humano sirva para modelar objetos que possuam
características semelhantes, mas que ainda assim tenham comportamento distinto para ações semelhantes.
 a) public abstract class Humano {}public abstract Homem extends Humano {}public abstract Mulher extends
Humano {}
 b) public abstract class Humano {}public class Homem extends Humano {}public class Mulher extends
Humano {}
 c) public abstract Humano {}public class Homem implements Humano {}public class Mulher implements
Humano {}
 d) public interface Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
 e) public class Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Alternativa marcada:
e) public class Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Justificativa: Resposta correta:public abstract class Humano {}public class Homem extends Humano {}public class
Mulher extends Humano {}
O conceito a ser aplicado é o de classes abstratas. Uma classe abstrata não pode ser instanciada por meio da
palavra chave new com o uso de um construtor seu.  As classes Homem e Mulher devem herdar da classe Humano,
por isso foi aplicado o conceito extends. As classes Homem e Mulher deverão implementar os métodos abstratos
definidos na classe Humano.
Distratores:public class Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas e,
para isso, utilizamos o termo abstract  (antes de class) na definição da classe humano.
public abstract class Humano {}public abstract Homem extends Humano {}public abstract Mulher extends Humano
{}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas. As
demais classes (Homem e Mulher) devem herdar da classe Humano e, sendo assim, estas não devem ser definidas
como abstract.
public interface Humano {}public class Homem extends Humano {}public class Mulher extends Humano {}
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas, e não
o conceito de interface (uma interface Java é uma classe abstrata onde todos os seus métodos são abstract e
public e seus atributos são static e final implicitamente. Uma interface é então uma classe completamente
abstrata ou classe abstrata pura).
public abstract Humano {}public class Homemimplements Humano {}public class Mulher implements Humano
{} Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de classes abstratas,
mas a classe Humano não possui o modificador class, para determinar que a mesma se trata de uma classe. Já nas
classes Homem e Mulher foi aplicado o modificador de interfaces (implements), onde deveria ser aplicado o
conceito de herança.
0,00/ 1,50
2  Código: 36611 - Enunciado: Considere a classe a seguir:class IMC {      String nome;      double peso, altura;}Sabe-se
que métodos construtores são usados para controlar a criação (instanciação) do objeto e só executam neste
momento e que podem ser sobrecarregados. Sendo assim, qual é a quantidade máxima de métodos construtores
que podemos criar para a classe IMC?
 a) 8.
 b) 7.
 c) 5.
 d) 4.
 e) 6.
Alternativa marcada:
0,00/ 0,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 2/9
e) 6.
Justificativa: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem a mesma regra da
sobrecarga de métodos, os parâmetros são verificados não de acordo com o identificador, mas sim pela sequência
dos tipos (Assinatura). Sendo assim, podemos criar os seguintes métodos construtores, totalizando 8 métodos
construtores:public IMC() {  }public IMC(String) {  }public IMC(double) {  }public IMC(String, double) {  }public
IMC(double, String) {  }public IMC(String, double, double) {  }public IMC(double, String, double) {  }public
IMC(double, double, String) {  }
3  Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes métodos de
implementação, que são: compilação, interpretação pura e híbrido. Em relação à linguagem Java, analise as
afirmativas a seguir:I. O código é compilado uma vez, gerando o bytecode, que pode ser interpretado quantas
vezes forem necessárias e em qualquer ambiente java existente.II. O bytecode é dependente do hardware e
so�ware (sistema operacional) do computador onde ocorreu a compilação.III. Atualmente realiza uma compilação
just-int-time (no momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que é capaz de
interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
 a) II e III.
 b) I e IV.
 c) II e IV.
 d) I e III.
 e) III e IV.
Alternativa marcada:
e) III e IV.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que pode ser
interpretado quantas vezes forem necessárias e em qualquer ambiente java existente. Verdadeira. Java gera um
código intermediário chamado bytecode, que é um código especial de máquina que não leva em consideração um
ambiente específico, mas para um ambiente genérico que independe do ambiente de desenvolvimento.O
interpretador java também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware
que é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um interpretador Java
(JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim, esse interpretador poderá então
executar qualquer aplicação Java desenvolvida para ele. Dessa forma, temos uma JVM específica para cada
ambiente ou dispositivo específico, mas não podemos esquecer que, uma vez compilado um programa ou
aplicação, essa técnica permite que o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do computador onde ocorreu
a compilação. Falsa. O bytecode é uma linguagem de máquina genérica que o processo de compilação da
linguagem Java usa para padronizar as aplicações Java, independentemente do ambiente onde ocorreu o
processo de compilação.Atualmente realiza uma compilação just-int-time (no momento da compilação), com o
intuito de aumentar o desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da
execução, na etapa do interpretador.
0,00/ 0,50
4  Código: 36878 - Enunciado: Um desenvolvedor precisa implementar o método entradaDados() na classe
Treinamento, implementada a seguir. Considere que os métodos setters e getters serão implementados
corretamente.
class Treinamento {               String nomeAluno;                int ano;                double nota;// Métodos setters// Métodos
getters}
Compare as possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação do
método entradaDados() da classe, responsável por realizar a entrada de dados por meio do teclado.
 a) public void entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:"); 
nomeAluno = sc.nextLine();  System.out.println("Ano:");  ano = sc.nextLine();  System.out.println("Nota:");  nota =
sc.nextLine();}
 b) public void entradaDados (String nomeAluno, int ano, double nota){  Scanner sc = new
Scanner(System.in);  System.out.println("Aluno:");  nomeAluno = sc.nextLine();  System.out.println("Ano:");  ano =
Integer.parseIntDouble(sc.nextLine());  System.out.println("Nota:");  nota = Double.parseDoublet(sc.nextLine());}
 c) public void entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:"); 
nomeAluno = nextLine();  System.out.println("Ano:");  ano = Double.parseDouble(nextLine()); 
System.out.println("Nota:");  nota = Double.parseDoublet(nextLine());}
 d) public void entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:"); 
nomeAluno = sc.nextLine();  System.out.println("Ano:");  ano = Integer.parseIntDouble(sc.nextLine()); 
1,50/ 1,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 3/9
System.out.println("Nota:");  nota = Double.parseDoublet(sc.nextLine());}
 e) public void entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:"); 
nomeAluno = sc.nextLine();  System.out.println("Ano:");  ano = Double.parseDouble(sc.nextLine()); 
System.out.println("Nota:");  nota = Double.parseDoublet(sc.nextLine());}
Alternativa marcada:
d) public void entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:");  nomeAluno
= sc.nextLine();  System.out.println("Ano:");  ano = Integer.parseIntDouble(sc.nextLine()); 
System.out.println("Nota:");  nota = Double.parseDoublet(sc.nextLine());}
Justificativa: Resposta correta:public void entradaDados ( ){  Scanner sc = new Scanner(System.in); 
System.out.println("Aluno:");  nomeAluno = sc.nextLine();  System.out.println("Ano:");  ano =
Integer.parseIntDouble(sc.nextLine());  System.out.println("Nota:");  nota =
Double.parseDoublet(sc.nextLine());} Como os atributos ano e Nota não são String, precisamos realizar a
conversão de dados, utilizando Integer.parseInt() e Double.parseDouble() respectivamente.Distratores:public void
entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:");  nomeAluno = nextLine(); 
System.out.println("Ano:");  ano = Double.parseDouble(nextLine());  System.out.println("Nota:");  nota =
Double.parseDoublet(nextLine());}
Incorreta. Faltou identificar o objeto que executará o método nextLine(). Neste caso o sc (sc.nexLine()). public void
entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:");  nomeAluno =
sc.nextLine();  System.out.println("Ano:");  ano = Double.parseDouble(sc.nextLine());  System.out.println("Nota:"); 
nota = Double.parseDoublet(sc.nextLine());}
Incorreta. O atributo ano é do tipo int. Sendo assim, utilizamos o Integer.parseInt(sc.nextLine()), ao invés de
Double.
public void entradaDados ( ){  Scanner sc = new Scanner(System.in);  System.out.println("Aluno:");  nomeAluno =
sc.nextLine();  System.out.println("Ano:");  ano = sc.nextLine();  System.out.println("Nota:");  nota =
sc.nextLine();} Incorreta. Como os atributos ano e notanão são do tipo String, há necessidade de convertê-los para
os seus respectivos tipos de dados apropriados, utilizando Integer.parseInt() e Double.parseDouble()
respectivamente. public void entradaDados (String nomeAluno, int ano, double nota){  Scanner sc = new
Scanner(System.in);  System.out.println("Aluno:");  nomeAluno = sc.nextLine();  System.out.println("Ano:");  ano =
Integer.parseIntDouble(sc.nextLine());Incorreta. Como o método a ser implementado é de entrada de dados, onde
o método tem como objetivo solicitar a entrada de dados via teclado ao usuário e armazenar nos seus respectivos
atributos, o método não deve receber nenhum parâmetro.
5  Código: 36637 - Enunciado: Durante o desenvolvimento de uma aplicação na linguagem Java, com os conceitos
de programação orientada a objetos, foi implementado o método a seguir:
public double calcularVenda(double val, double perc, int qtd)  {    .............    }
Determine o uso de polimorfismo de sobrecarga de métodos que está sendo aplicado de forma correta:
 a) public double calcularVenda(double perc, double val, int qtd)
 b) public double calcular(double val, int qtd, double perc)
 c) public int calcularVenda(int qtd, double val, double perc)
 d) public double calcularVenda(double v, double p, int q)
 e) public int Venda(double val, double perc, int qtd)
Alternativa marcada:
d) public double calcularVenda(double v, double p, int q)
Justificativa: Resposta correta: public double calcularVenda(double perc, double val, int qtd)A sobrecarga de
métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é
importante que esses métodos possuam diferentes assinaturas de métodos.Esse método possui o mesmo nome
do método original e possui uma assinatura diferente.
Distratores:public int Venda(double val, double perc, int qtd). Incorreta. Não possui o mesmo nome do método
original.public double calcular(double val, int qtd, double perc). Incorreta. Não possui o mesmo nome do método
original.public double calcularVenda(double v, double p, int q). Incorreta. Esse método possui o mesmo nome,
mas está incorreto porque tem a mesma assinatura do método original.public double calcularVenda(double perc,
double val, int qtd). Incorreta. Esse método possui o mesmo nome, mas está incorreto porque tem a mesma
assinatura do método original.
0,00/ 1,00
6  Código: 36639 - Enunciado: Para o desenvolvimento de um projeto de sistema orientado a objetos na linguagem
Java, considere o trecho de código a seguir:
public class Pessoa { }public class Funcionario extends Pessoa { }public class Supervisor extends Funcionario { }
Examine as opções apresentadas e determine a correta:
1,00/ 1,00
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 4/9
 a) A classe Pessoa é subclasse direta da classe Supervisor.
 b) A classe Supervisor é subclasse direta tanto de Pessoa como de Funcionario.
 c) A classe Supervisor é subclasse direta de Pessoa.
 d) A classe Funcionario é superclasse direta de Supervisor.
 e) A classe Supervisor é superclasse direta de Funcionario e de Pessoa.
Alternativa marcada:
d) A classe Funcionario é superclasse direta de Supervisor.
Justificativa: Resposta correta: A classe Funcionario é superclasse direta de Supervisor.A classe Supervisor herda
diretamente da classe Funcionário, ou seja, a classe Funcionario é superclasse direta de Supervisor.
Distratores:A classe Pessoa é subclasse direta da classe Supervisor. Incorreta. A classe Pessoa é superclasse direta
de Funcionario.A classe Supervisor é superclasse direta de Funcionario e de Pessoa. Incorreta. A classe Pessoa que
é a superclasse de Funcionario, que é superclasse de Supervisor.A classe Supervisor é subclasse direta de Pessoa.
Incorreta. A classe Supervisor é subclasse direta de Funcionario.A classe Supervisor é subclasse direta tanto de
Pessoa, como de Funcionario. Incorreta. A classe Supervisor é subclasse direta de Funcionário. Já a classe
Funcionario é subclasse direta de Pessoa.
7  Código: 36883 - Enunciado: Você faz parte de uma equipe de projeto que precisa desenvolver uma aplicação para
a indústria de calçados. A aplicação deve ser criada na linguagem Java seguindo os critérios conceituais da
programação orientada a objetos. A equipe é composta por três desenvolvedores, dos quais um deve desenvolver
a aplicação, outro a classe Calcado e você deve desenvolver a classe Sapato.A sua tarefa é desenvolver a classe
Sapato, conforme a modelagem a seguir:
Classe Calcado:Definição dos atributos;Os métodos de acesso dos atributos.Cimco métodos
construtores.Métodos: Imprimir, Cadastrar e EntradaDados. Classe Sapato:•             Definição dos atributos.•            
Os métodos de acesso dos atributos.•             Cinco métodos construtores.•             Métodos: Imprimir e Cadastrar.       
          Desenvolva a codificação na linguagem Java da classe Sapato:Após analisar a situação problema, você deve
partir da premissa (certeza) de que a classe Calcado já se encontra pronta e de acordo com os critérios
apresentados anteriormente.A classe Sapato deverá reaproveitar ao máximo todos os atributos e métodos
disponibilizados pela classe Calcado.A classe Sapato deverá reaproveitar no mínimo um método construtor da
classe Calcado.Lembre-se de criar apenas a classe Sapato.Utilize a boa prática de programação em Java. Cuidado
com o tamanho da letra para que caiba no espaço de resposta.
Resposta:
Comentários: Não há reaproveitamento de código dos demais métodos (entrada e imprimir).
Justificativa: Expectativa de resposta:import java.util.Scanner; public class Sapato extends Calcado{    String cor;   
public String getCor() {        return cor;    }    public void setCor(String c) {        cor = c;     }     public Sapato() {        super();
// Não é obrigatório     }    public Sapato(String cor) {        setCor(cor);    }    public Sapato(String cor, String tipo) {     
  super(tipo); // reaproveitamento        setCor(cor);     }     public Sapato(String cor, int tamanho, String tipo) {       
super(tamanho, tipo); // reaproveitamento        setCor(cor);    }     public Sapato(String cor, String tipo, int tamanho)
{        super(tipo, tamanho); // reaproveitamento        setCor(cor);     }     public void cadastrar(String tipo, int
tamanho, String cor) {        super.cadastrar(tipo, tamanho); // reaproveitamento        setCor(cor);     }     @Override  //
Não é obrigatório     public void imprimir(){        super.imprimir();// reaproveitamento        System.out.println("Cor  :"
+ cor);    }     }
2,20/ 2,50
8  Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às necessidades de uma
aplicação, utilizando os conceitos de programação orientada a objetos implementada na linguagem
Java.Considere os atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os valores dos atributos
do objeto).Cadastrar (recebe todos os valores dos atributos e armazena no objeto).EntradaDados (realiza a
entrada de dados dos atributos do objeto).
Construa a classe Violao, definindo os seus atributos e implementando os métodos solicitados.Utilize a boa prática
de programação em Java.
Resposta:
Comentários: Faltaram os métodos de acesso.
Justificativa: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public void imprimir(){   
  System.out.println(“Marca:” + marca);      System.out.println(“Número Cordas:” + numeroCordas);}public void
entradaDados(){      Scanner ent = new Scanner(System.in);      System.out.println(“Marca:”);     
setMarca(ent.nextLine());      System.out.println(“Número Cordas:” + numeroCordas);   
1,20/ 1,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 5/9
  setNumeroCordas(Integer.parseInt(ent.nextLine()));}public void cadastrar(String m, int nc){setMarca(m);   
  setNumeroCordas(nc);}}       
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 6/9
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 7/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8c7395e6-
1159-11ea-a9c8-0242ac110003.jpg?
Signature=DwRXrKHelz7M3JmLzYWDn2EnV4o%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8c7395e6-1159-11ea-a9c8-0242ac110003.jpg?Signature=DwRXrKHelz7M3JmLzYWDn2EnV4o%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8e3eda20-1159-11ea-a9c8-0242ac110003.jpg?Signature=91r12gpBiTItESp%2FwuFD2XW4CK8%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 8/9
(https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8e3eda20-
1159-11ea-a9c8-0242ac110003.jpg?
Signature=91r12gpBiTItESp%2FwuFD2XW4CK8%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNW
https://strtec.s3.amazonaws.com/ilumno/processamento/imagens_corrigidas/2019/11/27/8e3eda20-1159-11ea-a9c8-0242ac110003.jpg?Signature=91r12gpBiTItESp%2FwuFD2XW4CK8%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732362/a0584830-c732-11e8-8ec2-0242ac11002e/ 9/9
(http://strtec.s3.amazonaws.com/ilumno/processamento/imagens_readables/2019/11/27/8fb890b2-
1159-11ea-a9c8-0242ac110003.jpg?
Signature=YV0wgRqJ63QszSwWDOk8J4lVFWk%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNW
http://strtec.s3.amazonaws.com/ilumno/processamento/imagens_readables/2019/11/27/8fb890b2-1159-11ea-a9c8-0242ac110003.jpg?Signature=YV0wgRqJ63QszSwWDOk8J4lVFWk%3D&Expires=1574964587&AWSAccessKeyId=AKIAJ5OVDHP63TNWC3PQ
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 1/7
Local: Sala 1 - TJ - Prova On-line / Andar / Polo Tijuca / POLO UVA TIJUCA
Acadêmico: EAD-IL10328-20203A
Aluno: CAIO DANIEL MORAIS AUGUSTO
Avaliação: A2-
Matrícula: 20191303405
Data: 26 de Setembro de 2020 - 08:00 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 9,00/10,00
1  Código: 36638 - Enunciado: Um desenvolvedor recebeu como tarefa a criação da classe
Funcionario, que se relaciona hierarquicamente com a classe Pessoa, conforme pode ser
observado na modelagem a seguir:
Determine a opção cujo trecho de código em Java está implementando a classe Funcionario
corretamente:
 a) public class Pessoa implements Funcionario { }
 b) public class Funcionario { }
 c) public class Pessoa extends Funcionario { }
 d) public class Funcionario extends Pessoa { }
 e) public classe Funcionário implements Pessoa { }
Alternativa marcada:
d) public class Funcionario extends Pessoa { }
Justificativa: Resposta correta: public class Funcionario extends Pessoa { }.A figura apresenta a
aplicação do conceito de herança, onde a classe Funcionario herda da classe Pessoa. Na
linguagem Java, a sintaxe para implementar o conceito de herança é:    public class <nome da
classe “filha”> extends <nome da classe “pai”> {  }Nesse caso, a classe “filha” é Funcionario e a
classe “mãe” é Pessoa. 
Distratores:public class Funcionario { }. Incorreta. Essa instrução implementa a classe
Funcionário sem o conceito de herança e, como podemos observar na modelagem, a classe
Funcionário herda da classe Pessoa. public class Pessoa extends Funcionario { }. Incorreta. Essa
instrução, apesar de implementar o conceito de herança, faz uma inversão entre as classes Pai e
Filha.public class Pessoa implements Funcionario { }. Incorreta. Essa instrução  utiliza o termo
implements, que só deve ser usado para interfaces.public classe Funcionário implements Pessoa
{ }. Incorreta. Essa instrução  utiliza o termo implements, que só deve ser usado para interfaces.
1,00/ 1,00
2  Código: 36875 - Enunciado: Durante a implementação de uma classe, o programador decidiu
aplicar o conceito de sobrecarga de métodos construtores. Analise a implementação da classe
abaixo. (Considere que os métodos Setters e Getters serão implementados corretamente).class
PesoIdeal {       String nome, situacao;       int idade;       double peso, altura;        public PesoIdeal () {
}        public PesoIdeal(String n, double p) {                    setNome(n);                    setPeso(p);       }     
public PesoIdeal(String n, double p, double a) {                    setNome(n);                   setPeso(p);               
   setAltura(a);       }      public PesoIdeal(double a, double p) {                    setAltura(a);                 
 setPeso(p);       }} Compare as possíveis soluções apresentadas a seguir e avalie qual apresenta a
correta codificação da criação do objeto atleta.
 a) PesoIdeal atleta = new PesoIdeal (“Paulo”, “Sobrepeso”,80.5, 1.8)
 b) PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8)
 c) PesoIdeal = new atleta(1.80, 80.5);
 d) PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
 e) Atleta = new PesoIdeal(1.80, 80.5);
Alternativa marcada:
1,50/ 1,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 2/7
d) PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
Justificativa: Resposta correta: PesoIdeal atleta = new PesoIdeal(1.80, 80.5);Método construtor:
possui o mesmo nome da classe. Sobrecarga de método construtor: métodos com mesmo nome
da classe, mas com assinaturas diferentes.Sintaxe para criar objeto:  <nome da classe> nome do
objeto = new <nome do método construtor>;
Está utilizando o quarto método construtor definido na classe PesoIdeal.
Distratores:Atleta = new PesoIdeal(1.80, 80.5);. Incorreta. A sintaxe para criar um objeto é: <nome
da classe> nome do objeto = new <nome do método construtor>;. Nesse caso, faltou o nome da
classe antes da palavra Atleta.PesoIdeal = new atleta(1.80, 80.5);. Incorreta. A sintaxe para criar
um objeto é: <nome da classe> nome do objeto = new <nome do método construtor>; Nesse
caso, faltou o nome do objeto depois do nome da classe.PesoIdeal atleta = new
PesoIdeal(Paulo,80.5, 1.8). Incorreta. O problema está na passagem dos parâmetros do método
construtor. Quando temos o tipo de dados String, o mesmo deve ser passado entre aspas –
“Paulo”, ou ser o identificador de uma variável do tipo String, que não foi identificada de acordo
com a boa prática em desenvolvimento Java.PesoIdeal atleta = new PesoIdeal (“Paulo”,
“Sobrepeso”,80.5, 1.8). Incorreta. Não foi implementado na classe PesoIdeal nenhum método
com a assinatura: PesoIdeal(String, String, double, double).Assinaturas dos métodos
implementados:PesoIdeal ()PesoIdeal(String, double)PesoIdeal(String, double,
double)PesoIdeal(double, double)
3  Código: 36630 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas
baseadas no paradigma de programação orientada a objetos é fundamental para o
desenvolvimento de sistemas complexos, facilitando a divisão de tarefas em partes mais simples
e fáceis de serem desenvolvidas, permitindo que, posteriormente, essas partes sejam agrupadas
de forma a resolver problemas que envolvem grandes e complexos sistemas. 
Em relação aos conceitos de orientação a objetos, analise as afirmativas a seguir:I. Os atributos
definem um conjunto de descritores do objeto de forma geral são capazes de realizar as ações
necessárias do objeto para o contexto do sistema.II. As classes na programação orientada a
objetos são responsáveis por descrever as características e as ações que o objeto poderá
realizar.III.Os métodos de acesso Getters são responsáveis por recuperar valores atribuídos às
propriedades e que se encontram armazenados na memória de um objeto. Não podem ser do
tipo void.IV. Os métodos de acesso Setters são responsáveis por realizar a atribuição e o
armazenamento na memória de uma propriedade do objeto. Se necessário, eles podem retornar
parâmetros.Identifique as afirmativas corretas:
 a) I e III.
 b) II e IV.
 c) II e III.
 d) III e IV.
 e) I e IV.
Alternativa marcada:
c) II e III.
Justificativa: Resposta correta: II e III.As classes na programação orientada a objetos são
responsáveis por descrever as características e as ações que o objeto poderá realizar. Verdadeira.
Classe é um conjunto de códigos de programação que definem um modelo para a criação de um
ou mais objetos. É uma estrutura capaz de representar diferentes objetos, com propriedades
distintas, mas com as mesmas características. A classe é o modelo para a criação dos objetos.Os
métodos de acesso Getters são responsáveis por recuperar valores atribuídos às propriedades e
que se encontram armazenados na memória de um objeto. Não podem ser do tipo void.
Verdadeira. Os métodos Getters nunca são do tipo void, pois sempre retornam um valor, devendo
ser do mesmo tipo do atributo que irá retornar.
Distratores:Os atributos definem um conjunto de descritores do objeto de forma geral são
capazes de realizar as ações necessárias do objeto para o contexto do sistema. Falsa. Os atributos
0,50/ 0,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 3/7
de uma classe são responsáveis por descrever o objeto quanto as suas características, mas não
são responsáveis pela realização das ações.Os métodos de acesso Setters são responsáveis por
realizar a atribuição e o armazenamento na memória de uma propriedade do objeto. Se
necessário, eles podem retornar parâmetros. Falsa. Os métodos Setters são sempre do tipo void,
porque nunca devem retornar nada.
4  Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes
métodos de implementação, que são: compilação, interpretação pura e híbrido. Em relação à
linguagem Java, analise as afirmativas a seguir:I. O código é compilado uma vez, gerando o
bytecode, que pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente
java existente.II. O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação.III. Atualmente realiza uma compilação just-int-time (no
momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
 a) II e III.
 b) I e III.
 c) II e IV.
 d) I e IV.
 e) III e IV.
Alternativa marcada:
d) I e IV.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que
pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente java
existente. Verdadeira. Java gera um código intermediário chamado bytecode, que é um código
especial de máquina que não leva em consideração um ambiente específico, mas para um
ambiente genérico que independe do ambiente de desenvolvimento.O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um
interpretador Java (JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim,
esse interpretador poderá então executar qualquer aplicação Java desenvolvida para ele. Dessa
forma, temos uma JVM específica para cada ambiente ou dispositivo específico, mas não
podemos esquecer que, uma vez compilado um programa ou aplicação, essa técnica permite
que o programa seja executado em qualquer ambiente.
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação. Falsa. O bytecode é uma linguagem de máquina
genérica que o processo de compilação da linguagem Java usa para padronizar as aplicações
Java, independentemente do ambiente onde ocorreu o processo de compilação.Atualmente
realiza uma compilação just-int-time (no momento da compilação), com o intuito de aumentar o
desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da execução, na
etapa do interpretador.
0,50/ 0,50
5  Código: 36636 - Enunciado: Para o desenvolvimento de uma aplicação utilizando os conceitos
de programação orientada a objeto na linguagem Java, considere a classe a seguir:class IMC
{String nome;double peso, altura;}Determine, dentre as alternativas, aquela que implementa
corretamente o método de acesso que permite recuperar valores atribuídos à propriedade peso,
que se encontra armazenada na memória de um objeto.
 a) public double setPeso( ) {                               return peso;    }
 b) public setPeso(double p) {                               peso = p;    }
 c) public double getPeso( ) {                               return peso;    }
 d) public getPeso( ) {                               return peso;     }
0,00/ 1,00
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 4/7
 e) public getPeso(double peso) {                               return peso;    }
Alternativa marcada:
a) public double setPeso( ) {                               return peso;    }
Justificativa: Resposta correta:public double getPeso( ) {                               return peso;    }
O método de acesso que é responsável por recuperar valores é o Getter. Esses métodos nunca
recebem parâmetro, uma vez que apenas devem retornar o valor atribuído à propriedade, além
disso, devem ser definidos com o mesmo tipo do atributo que irá retornar.
Distratores:public getPeso( ). Incorreta. Não foi definido o tipo de retorno, apenas métodos
construtores não possuem tipo de retorno.public getPeso(double peso). Incorreta. Não definido
o tipo de retorno e métodos Getters não recebem parâmetros.public setPeso(double p).
Incorreta. Não definido o tipo de retorno e o método é do tipo Setter, que realiza o
armazenamento e não o retorno.public double setPeso( ). Incorreta. O método é do tipo Setter,
que realiza o armazenamento e não o retorno, além disso, métodos Setters são sempre do tipo
void.
6  Código: 36879 - Enunciado: Um desenvolvedor precisa implementar os métodos de acesso da
classe Treinamento, a qual possui os seguintes atributos: nomeAluno, ano e nota.  Compare as
possíveis soluções apresentadas a seguir e avalie qual é a correta para atender à implementação
do método que permite realizar a atribuição e o armazenamento na memória da propriedade
nota. Lembrando que a nota de um aluno precisa estar entre 0 e 10 para que seja armazenada no
atributo; caso contrário, deverá armazenar o valor 0 (zero) no atributo.
 a) public void setNota(double n) {            if(n >= 0 && n <= 10) {                  nota = n;            }            
else {                  nota = 0;            }}
 b) public void setNota(double n) {            if(n <= 10) {                  nota = n;            }             else {             
    nota = 0;            }}
 c) public double setNota(double n) {            if(n >= 0 && n <= 10) {                  return n;            }          
  else {                  return 0;            }}
 d) public void setNota(double n) {            if(n >= 0 || n < 10) {                  nota = n;            }             else
{                  nota = 0;            }}
 e) public void getNota(double n) {            if(n >= 0 && n <= 10) {                  nota = n;            }            
else {                  nota = 0;            }}
Alternativa marcada:
a) public void setNota(double n) {            if(n >= 0 && n <= 10) {                  nota= n;            }             else {   
              nota = 0;            }}
Justificativa: Resposta correta:public void setNota(double n) {            if(n >= 0 && n <= 10) {               
  nota = n;            }             else {                  nota = 0;            }}
O método de acesso usado para realizar a atribuição e o armazenamento na memória de uma
propriedade do objeto é o Setter. A nota tem que ser maior igual a 0 e menor ou igual a 10. Para
isso, precisamos aplicar uma estrutura condicional if(). Lembrando que o operador lógico E em
Java é: &&.  Distratores:public double setNota(double n) {            if(n >= 0 && n <= 10) {                 
return n;            }             else {                  return 0;            }}
Incorreta. O método Setter não deve retornar valor. Sendo assim, ele deve ser do tipo void, e não
double.
public void setNota(double n) {            if(n <= 10) {                  nota = n;            }             else {                  nota
= 0;            }}
Incorreta. Se a nota for menor que zero, será aceita, uma vez que a condição só verifica se a nota
é menor ou igual a 10. public void setNota(double n) {            if(n >= 0 || n < 10) {                  nota = n;     
      }             else {                  nota = 0;            }}
Incorreta. Não podemos utilizar o operador lógico ou (em Java ||) para esse caso, uma vez que
basta uma condição ser verdade para que tudo seja verdade. Nesse caso, se a nota for 11, será
1,50/ 1,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 5/7
armazenada no atributo nota, uma vez que, ao validar n >= 0 (ou seja 11>=0 será Verdade) ou n
<=10 (ou seja 11 <= 10 será falso), analisando Verdade OU Falso, o resultado lógico será: Verdade.
public void getNota(double n) {            if(n >= 0 && n <= 10) {                  nota = n;            }             else {       
          nota = 0;            }}  Incorreta. O método Getter é responsável por recuperar valores atribuídos
às propriedades e que se encontram armazenados na memória de um objeto e não devem ser
usados para atribuições.
7  Código: 36883 - Enunciado: Você faz parte de uma equipe de projeto que precisa desenvolver
uma aplicação para a indústria de calçados. A aplicação deve ser criada na linguagem Java
seguindo os critérios conceituais da programação orientada a objetos. A equipe é composta por
três desenvolvedores, dos quais um deve desenvolver a aplicação, outro a classe Calcado e você
deve desenvolver a classe Sapato.A sua tarefa é desenvolver a classe Sapato, conforme a
modelagem a seguir:
Classe Calcado:Definição dos atributos;Os métodos de acesso dos atributos.Cimco métodos
construtores.Métodos: Imprimir, Cadastrar e EntradaDados. Classe Sapato:•             Definição dos
atributos.•             Os métodos de acesso dos atributos.•             Cinco métodos construtores.•            
Métodos: Imprimir e Cadastrar.                  Desenvolva a codificação na linguagem Java da classe
Sapato:Após analisar a situação problema, você deve partir da premissa (certeza) de que a classe
Calcado já se encontra pronta e de acordo com os critérios apresentados anteriormente.A classe
Sapato deverá reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe
Calcado.A classe Sapato deverá reaproveitar no mínimo um método construtor da classe
Calcado.Lembre-se de criar apenas a classe Sapato.Utilize a boa prática de programação em
Java. Cuidado com o tamanho da letra para que caiba no espaço de resposta.
Resposta:
public class Sapato extends Calcado{ 
String cor; 
public String getCor() { 
return cor; 
}
public void setCor(String c) {
cor = c;
} 
public Sapato() {
super(); 
}
public Sapato(String cor) {
setCor(cor); 
}
public Sapato(String cor, String tipo) { 
super(tipo); 
setCor(cor);
 }
public Sapato(String cor, int tamanho, String tipo) {
super(tamanho, tipo); 
2,50/ 2,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 6/7
setCor(cor); 
} 
public Sapato(String cor, String tipo, int tamanho) 
{ 
super(tipo, tamanho); 
setCor(cor); 
} 
public void cadastrar(String tipo, int 
tamanho, String cor) {
super.cadastrar(tipo, tamanho);  
setCor(cor); 
}  
public void imprimir(){ 
super.imprimir(); 
System.out.println("Cor :" + cor);
}
}
Justificativa: Expectativa de resposta:import java.util.Scanner; public class Sapato extends
Calcado{    String cor;    public String getCor() {        return cor;    }    public void setCor(String c) {     
  cor = c;     }     public Sapato() {        super(); // Não é obrigatório     }    public Sapato(String cor) {       
setCor(cor);    }    public Sapato(String cor, String tipo) {        super(tipo); // reaproveitamento       
setCor(cor);     }     public Sapato(String cor, int tamanho, String tipo) {        super(tamanho, tipo); //
reaproveitamento        setCor(cor);    }     public Sapato(String cor, String tipo, int tamanho) {       
super(tipo, tamanho); // reaproveitamento        setCor(cor);     }     public void cadastrar(String tipo,
int tamanho, String cor) {        super.cadastrar(tipo, tamanho); // reaproveitamento       
setCor(cor);     }     @Override  // Não é obrigatório     public void imprimir(){        super.imprimir();//
reaproveitamento        System.out.println("Cor  :" + cor);    }     }
8  Código: 36952 - Enunciado: Encapsulamento é o ato de esconder os membros (atributos e
métodos) de uma classe: seja por não serem de interesse por questões de implementação ou por
segurança dos dados atribuídos ao objeto. Indique quando deve ser utilizado o modificador de
acesso private.
Resposta:
Quando existe um método que serve para ajudar a própria classe.
Justificativa: Expectativa de resposta:Quando queremos definir que os métodos e atributos de
uma classe sejam acessíveis somente por membros da própria classe.
1,50/ 1,50
08/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886397/dd84ae80-3535-11e9-ba31-0242ac110007/ 7/7
Powered by TCPDF (www.tcpdf.org)
http://www.tcpdf.org
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 1/9
Local: A308(INATIVO) - Bloco A - 3º andar / Andar / Polo Tijuca / POLO UVA TIJUCA
Acadêmico: EAD-IL10311-20194A
Aluno: JACKSON MENA DO COUTO
Avaliação: A2-
Matrícula: 20182300244
Data: 23 de Novembro de 2019 - 11:00 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 8,50/10,00
1  Código: 36872 - Enunciado: Durante a implementação de uma classe, o programador decidiu aplicar o conceito de
polimorfismo de sobrecarga. Analise a implementação da classe a seguir para obter as informações necessárias para a
codificação correta do polimorfismo.class PesoIdeal {       String nome, situacao;       int idade;       double peso, altura;}
Compare as possíveis soluções de métodos apresentadas nas alternativas e avalie qual apresenta corretamente a
implementação do conceito de polimorfismo de sobrecarga.
 a) public void cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n) { }public void
cadastroParcial3(String n, int i, double p) { }public void cadastroParcial4(String n, int i, double p, double a) { }
 b) public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) { }public void
cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double p) { }
 c) public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) {
}public void cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) { }
 d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(inti, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
 e) public void cadastroParcial(double p, double a, int i) { }public void cadastroParcial(double p, int i, double a) {
}public void cadastroParcial(String n, int i, double a) { }public void cadastroParcial(double a, int i, double p) { }
Alternativa marcada:
d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) { }public void
cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) { }
Justificativa: Resposta correta:public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) {
}public void cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double p, double a) {
} Assinaturas: cadastroParcial(String, int) { }         cadastroParcial(int, String) { }   cadastroParcial(String, int, double) { } 
 cadastroParcial(String, int, double, double) { }
Polimorfismo de sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma
classe. Para isso, é importante que esses métodos possuam diferentes assinaturas de métodos.Sobrecarga de métodos
é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é importante que esses
métodos possuam diferentes assinaturas de métodos. Distratores:public void cadastroParcial1(String n, int i) { }public
void cadastroParcial2(int i, String n) { }public void cadastroParcial3(String n, int i, double p) { }public void
cadastroParcial4(String n, int i, double p, double a) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4(). public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double p) { }public
void cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String n, double a, double p) {
} Assinaturas:  cadastroParcial(String, int i) { }cadastroParcial(String, double) { }cadastroParcial(String, double, double) {
}cadastroParcial(String, double, double) { }
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes.  O terceiro e o quarto
método possuem a mesma assinatura. public void cadastroParcial(double p, double a, int i) { }public void
cadastroParcial(double p, int i, double a) { }public void cadastroParcial(String n, int i, double a) { }public void
cadastroParcial(double a, int i, double p) { }
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O segundo e o quarto
método possuem a mesma assinatura.Assinaturas:  cadastroParcial(double, double, int) { }cadastroParcial(double, int,
double) { }cadastroParcial(String, int, double) { }cadastroParcial(double, int, double) { } public void
cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p, int i, double a) { }public void
cadastroParcial3(String n, int i, double a) { }public void cadastroParcial4(double a, int i, String n) { } Assinaturas:
 cadastroParcial1(double, double) { }cadastroParcial2(double, int, double) { }cadastroParcial3(String, int, double) {
}cadastroParcial4(double, int, String) { }
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(), cadastroParcial3(),
cadastroParcial4().
1,50/ 1,50
2  Código: 36611 - Enunciado: Considere a classe a seguir:class IMC {      String nome;      double peso, altura;}Sabe-se que
métodos construtores são usados para controlar a criação (instanciação) do objeto e só executam neste momento e que
podem ser sobrecarregados. Sendo assim, qual é a quantidade máxima de métodos construtores que podemos criar
para a classe IMC?
 a) 5.
 b) 6.
0,00/ 0,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 2/9
 c) 7.
 d) 4.
 e) 8.
Alternativa marcada:
b) 6.
Justificativa: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem a mesma regra da
sobrecarga de métodos, os parâmetros são verificados não de acordo com o identificador, mas sim pela sequência dos
tipos (Assinatura). Sendo assim, podemos criar os seguintes métodos construtores, totalizando 8 métodos
construtores:public IMC() {  }public IMC(String) {  }public IMC(double) {  }public IMC(String, double) {  }public IMC(double,
String) {  }public IMC(String, double, double) {  }public IMC(double, String, double) {  }public IMC(double, double, String) {
 }
3  Código: 36630 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas baseadas no paradigma de
programação orientada a objetos é fundamental para o desenvolvimento de sistemas complexos, facilitando a divisão
de tarefas em partes mais simples e fáceis de serem desenvolvidas, permitindo que, posteriormente, essas partes sejam
agrupadas de forma a resolver problemas que envolvem grandes e complexos sistemas. 
Em relação aos conceitos de orientação a objetos, analise as afirmativas a seguir:I. Os atributos definem um conjunto de
descritores do objeto de forma geral são capazes de realizar as ações necessárias do objeto para o contexto do
sistema.II. As classes na programação orientada a objetos são responsáveis por descrever as características e as ações
que o objeto poderá realizar.III. Os métodos de acesso Getters são responsáveis por recuperar valores atribuídos às
propriedades e que se encontram armazenados na memória de um objeto. Não podem ser do tipo void.IV. Os métodos
de acesso Setters são responsáveis por realizar a atribuição e o armazenamento na memória de uma propriedade do
objeto. Se necessário, eles podem retornar parâmetros.Identifique as afirmativas corretas:
 a) I e III.
 b) I e IV.
 c) III e IV.
 d) II e III.
 e) II e IV.
Alternativa marcada:
d) II e III.
Justificativa: Resposta correta: II e III.As classes na programação orientada a objetos são responsáveis por descrever as
características e as ações que o objeto poderá realizar. Verdadeira. Classe é um conjunto de códigos de programação
que definem um modelo para a criação de um ou mais objetos. É uma estrutura capaz de representar diferentes
objetos, com propriedades distintas, mas com as mesmas características. A classe é o modelo para a criação dos
objetos.Os métodos de acesso Getters são responsáveis por recuperar valores atribuídos às propriedades e que se
encontram armazenados na memória de um objeto. Não podem ser do tipo void. Verdadeira. Os métodos Getters nunca
são do tipo void, pois sempre retornam um valor, devendo ser do mesmo tipo do atributo que irá retornar.
Distratores:Os atributos definem um conjunto de descritores do objeto de forma geral são capazes de realizar as ações
necessárias do objeto para o contexto do sistema. Falsa. Os atributos de uma classe são responsáveis por descrever o
objeto quanto as suas características, mas não são responsáveis pela realização das ações.Os métodos de acesso
Setters são responsáveis por realizar a atribuição e o armazenamento na memória de uma propriedade do objeto. Se
necessário, eles podem retornar parâmetros. Falsa. Os métodos Setters são sempre do tipo void, porque nunca devem
retornar nada.
0,50/ 0,50
4  Código: 36637 - Enunciado: Durante o desenvolvimento de uma aplicação na linguagem Java, com os conceitos de
programação orientada a objetos, foi implementado o método a seguir:
public double calcularVenda(double val, double perc, int qtd)  {    .............    }
Determine o uso de polimorfismo de sobrecarga de métodos que está sendo aplicado de forma correta:
 a) public int Venda(double val, double perc, int qtd)
 b) public double calcularVenda(double v, double p, int q)
 c) public int calcularVenda(int qtd, double val, double perc)
 d) public double calcularVenda(double perc, double val, int qtd)
 e) public double calcular(double val, int qtd, double perc)
Alternativa marcada:c) public int calcularVenda(int qtd, double val, double perc)
Justificativa: Resposta correta: public double calcularVenda(double perc, double val, int qtd)A sobrecarga de métodos
é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe. Para isso, é importante que esses
métodos possuam diferentes assinaturas de métodos.Esse método possui o mesmo nome do método original e possui
1,00/ 1,00
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 3/9
uma assinatura diferente.
Distratores:public int Venda(double val, double perc, int qtd). Incorreta. Não possui o mesmo nome do método
original.public double calcular(double val, int qtd, double perc). Incorreta. Não possui o mesmo nome do método
original.public double calcularVenda(double v, double p, int q). Incorreta. Esse método possui o mesmo nome, mas está
incorreto porque tem a mesma assinatura do método original.public double calcularVenda(double perc, double val, int
qtd). Incorreta. Esse método possui o mesmo nome, mas está incorreto porque tem a mesma assinatura do método
original.
5  Código: 36876 - Enunciado: Durante o desenvolvimento de um projeto, verificou-se a necessidade de implementar o
conceito de Interface na classe Triathlon. Nesse projeto, além da classe Triathlon, também são implementadas três
modalidades de esportes diferentes: Nadar, Correr e Ciclista.Analise a implementação da classe Triathlon para obter as
informações necessárias para a codificação correta utilizando o conceito de interface.
public interface Triathlon {      int IDADEMINIMA = 15;       void getIDADEMINIMA();               void aquecer(); } Avalie as
informações apresentadas nos itens I e II e a relação proposta entre elas.
I.  int IDADEMINIMA = 15;  - Terá o mesmo valor em todos os objetos (Compartilhada / Atributo de classe) e não poderá
sofrer alteração do seu valor.PORQUEII. IDADEMINIMA é static e final.
A respeito dessas afirmativas, assinale a opção correta.
 a) A afirmativa I é uma proposição verdadeira e a II é falsa.
 b) As afirmativas I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
 c) As afirmativas I e II são proposições falsas.
 d) As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.
 e) A afirmativa I é uma proposição falsa e a II é verdadeira.
Alternativa marcada:
d) As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.
Justificativa: Resposta correta: As afirmativas I e II são proposições verdadeiras e a II é uma justificativa correta da I.int
IDADEMINIMA = 15;  - Terá o mesmo valor em todos os objetos (Compartilhada / Atributo de classe) e não poderá sofrer
alteração do seu valor. Verdadeira. Interface em Java é uma classe abstrata onde todos os seus métodos são abstract e
public e seus atributos são static e final implicitamente.IDADEMINIMA é static e final. Verdadeira. Interface em Java é
uma classe abstrata onde todos os seus métodos são abstract e public e seus atributos são static e final
implicitamente.A afirmativa II é justificativa da I,  pois não é preciso usar os modificadores, pois eles são implícitos às
interfaces.
1,50/ 1,50
6  Código: 36641 - Enunciado: Um estudante está desenvolvendo uma aplicação para realização de cálculos físicos, onde
necessita definir o valor do coeficiente de dilatação linear do aço, que é de 11*10-6. Sabendo-se que esse valor é
constante em toda a aplicação.Examine as opções de instruções a seguir e determine aquela que permite que seja
definido um atributo cujo valor seja constante, ou seja, o seu valor, após ser inicializado, não poderá mais ser alterado
durante a execução da aplicação para o coeficiente de dilatação do aço.
 a) public const double aco = 0.000011;
 b) public abstract double aco = 0.000011;
 c) public static double aco = 0.000011;
 d) public double aco = 0.000011;
 e) public final double aco = 0.000011;
Alternativa marcada:
c) public static double aco = 0.000011;
Justificativa: Resposta correta: public final double aco = 0.000011;.Um atributo é dito final quando o seu valor, após ser
inicializado, não poderá mais ser alterado durante a execução da aplicação, o seu valor será constante.
Distratores:public static double aco = 0.000011;. Incorreta. Um atributo é dito estático quando é compartilhado por
todas as instâncias da classe, ou seja, seu conteúdo é compartilhado por todos os objetos criados.public double aco =
0.000011;. Incorreta. Um atributo sem modificador pode ser alterado durante a execução da aplicação.public abstract
double aco = 0.000011;. Incorreta. Um atributo não pode receber o modificador abstract, que é utilizado apenas com
métodos. Um método abstract é aquele que não implementado em uma classe abstrata ou interface.public const
double aco = 0.000011;. Incorreta. O modificador const não faz parte da linguagem Java.
0,00/ 1,00
7  Código: 36645 - Enunciado: Um desenvolvedor precisa criar uma classe para atender às necessidades de uma
aplicação, utilizando os conceitos de programação orientada a objetos implementada na linguagem Java.Considere os
atributos a seguir para a classe:
ClasseAtributosMétodosViolaoMarca: textoNúmero Cordas: inteiroImprimir (exibe todos os valores dos atributos do
objeto).Cadastrar (recebe todos os valores dos atributos e armazena no objeto).EntradaDados (realiza a entrada de
dados dos atributos do objeto).
1,50/ 1,50
28/11/2019 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/2732100/d64294e6-5eb9-11e8-8a4d-0242ac110036/ 4/9
Construa a classe Violao, definindo os seus atributos e implementando os métodos solicitados.Utilize a boa prática de
programação em Java.
Resposta:
Justificativa: Expectativa de resposta:public class Violao{String marca;int numeroCordas;public void imprimir(){   
  System.out.println(“Marca:” + marca);      System.out.println(“Número Cordas:” + numeroCordas);}public void
entradaDados(){      Scanner ent = new Scanner(System.in);      System.out.println(“Marca:”);      setMarca(ent.nextLine()); 
    System.out.println(“Número Cordas:” + numeroCordas);      setNumeroCordas(Integer.parseInt(ent.nextLine()));}public
void cadastrar(String m, int nc){      setMarca(m);      setNumeroCordas(nc);}}       
8  Código: 36883 - Enunciado: Você faz parte de uma equipe de projeto que precisa desenvolver uma aplicação para a
indústria de calçados. A aplicação deve ser criada na linguagem Java seguindo os critérios conceituais da programação
orientada a objetos. A equipe é composta por três desenvolvedores, dos quais um deve desenvolver a aplicação, outro a
classe Calcado e você deve desenvolver a classe Sapato.A sua tarefa é desenvolver a classe Sapato, conforme a
modelagem a seguir:
Classe Calcado:Definição dos atributos;Os métodos de acesso dos atributos.Cimco métodos construtores.Métodos:
Imprimir, Cadastrar e EntradaDados. Classe Sapato:•             Definição dos atributos.•             Os métodos de acesso dos
atributos.•             Cinco métodos construtores.•             Métodos: Imprimir e Cadastrar.                  Desenvolva a codificação
na linguagem Java da classe Sapato:Após analisar a situação problema, você deve partir da premissa (certeza) de que a
classe Calcado já se encontra pronta e de acordo com os critérios apresentados anteriormente.A classe Sapato deverá
reaproveitar ao máximo todos os atributos e métodos disponibilizados pela classe Calcado.A classe Sapato deverá
reaproveitar no mínimo um método construtor da classe Calcado.Lembre-se de criar apenas a classe Sapato.Utilize a
boa prática de programação em Java. Cuidado com o tamanho da letra para que caiba no espaço de resposta.
Resposta:
Justificativa: Expectativa de resposta:import java.util.Scanner; public class Sapato extends Calcado{    String cor;   
public String getCor() {        return cor;    }    public void setCor(String c) {        cor = c;     }     public Sapato()

Continue navegando

Outros materiais