Buscar

As - POOI

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 9 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 9 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 9 páginas

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

Continue navegando