Buscar

PROGRAMAÇÃO ORIENTADA A OBJETOS AV2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

14/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886381/03bdd744-346d-11e9-9420-0242ac110007/ 1/7
Local: Sala 1 - TJ - Prova On-line / Andar / Polo Tijuca / POLO UVA TIJUCA 
Acadêmico: EAD-IL10328-20203A
Aluno: PIETRO VINICIUS DA PENHA DE LIMA 
Avaliação: A2-
Matrícula: 20191303393 
Data: 26 de Setembro de 2020 - 08:00 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 9,00/10,00
1  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 IV.
 b) I e III.
 c) II e IV.
 d) III e IV.
 e) II e III.
Alternativa marcada:
c) II e IV.
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,00/ 0,50
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);       }     
1,50/ 1,50
14/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886381/03bdd744-346d-11e9-9420-0242ac110007/ 2/7
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 = new atleta(1.80, 80.5);
 b) PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8)
 c) Atleta = new PesoIdeal(1.80, 80.5);
 d) PesoIdeal atleta = new PesoIdeal (“Paulo”, “Sobrepeso”,80.5, 1.8)
 e) PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
Alternativa marcada:
e) 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: 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 extends Funcionario { }
 b) public class Funcionario extends Pessoa { }
 c) public classe Funcionário implements Pessoa { }
 d) public class Pessoa implements Funcionario { }
 e) public class Funcionario { }
Alternativa marcada:
b) 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
1,00/ 1,00
14/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886381/03bdd744-346d-11e9-9420-0242ac110007/ 3/7
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.
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) III e IV.
 b) I e IV.
 c) II e III.
 d) I e III.
 e) II e IV.
Alternativa marcada:
d) I e III.
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
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 getPeso( ) {                               return peso;    }
 b) public getPeso(double peso) {                               return peso;    }
 c) public double setPeso( ) {                               return peso;    }
 d) public setPeso(double p) {                               peso = p;    }
 e) public getPeso( ) {                               return peso;     }
1,00/ 1,00
14/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886381/03bdd744-346d-11e9-9420-0242ac110007/ 4/7
Alternativa marcada:
a) public double getPeso( ) {                               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 <= 10) {                  nota = n;            }             else {             
    nota = 0;            }}
 b) public void setNota(double n) {            if(n >= 0 && 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:
b) 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á
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. 
1,50/ 1,50
14/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886381/03bdd744-346d-11e9-9420-0242ac110007/ 5/7
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 devemser
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 {
private String cor;
Scanner scan  = new Scanner(System.in);
public Sapato(){}
public Sapato(String tp){
this.setTipo (tp);
}
public Sapato(String c){
this.setCor(c);
}
public Sapato(String tp, int t){
this.setTipo(tp);
this.setTamanho(t);
}
public Sapato(String tp, int t ,  String c){
this.setTipo(tp);
this.setTamanho(t);
2,50/ 2,50
14/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886381/03bdd744-346d-11e9-9420-0242ac110007/ 6/7
this.setCor(c);
}
public void imprimir(){
System.out.println("Tipo: " + this.getTipo());
System.out.println("Tamanho: " + this.getTamanho());
System.out.println("" + this.getCor());
}
public void cadastrar(){
System.out.println("Digite o tipo: ");
this.setTipo(scan.nextLine());
System.out.println("Digite o Tamanho: ");
this.setTamanho(scan.nextInt());
System.out.println("Digite a cor: ");
this.setCor(scan.nextLine());
}
public void entradaDeDados( String tp , int t , String c){
this.setTipo(tp);
this.setTamanho(t);
this.setCor(c);
}
public String getCor(){
return cor;
}
public void setCor(String c){
this.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);    }     }
14/10/2020 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5886381/03bdd744-346d-11e9-9420-0242ac110007/ 7/7
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:
Modificador private faz com que o método ou atributo fique restrito apenás a própria classe,
dessa forma só pode ser acessado na 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

Outros materiais