Buscar

PROGRAMAÇÃO ORIENTADA A OBJETOS I_2020

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

08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5876239/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 1/7
Local: Sala 1 - Sala de Aula / Andar / Polo Niterói - Região Oceânica / POLO REGIÃO OCEÂNICA 
Acadêmico: EAD-IL10328-20203A
Aluno: MARCO ANTONIO LIMA DE CASTRO 
Avaliação: A2-
Matrícula: 20191301364 
Data: 26 de Setembro de 2020 - 08:00 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 5,50/10,00
1  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 v, double p, int q)
 b) public double calcularVenda(double perc, double val, int qtd)
 c) public int calcularVenda(int qtd, double val, double perc)
 d) public int Venda(double val, double perc, int qtd)
 e) public double calcular(double val, int qtd, double perc)
Alternativa marcada:
a) 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
2  Código: 37084 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas baseadas no paradigma de programação orientado a objetos é
fundamental para o desenvolvimento de sistemas complexos, facilitando a divisão de tarefas em partes mais simples e fáceis de desenvolver. Sobre
programação orientada a objetos, analise as afirmativas a seguir:I. A sobrecarga de operadores é um conceito que só ocorre quando utilizamos um mesmo
operador para realizar diferentes tarefas em uma mesma linguagem de programação. II. A sobrecarga de métodos é obtida ao se criar mais de um método
com o mesmo nome em uma mesma classe ou classes diferentes e, para isso, é importante que esses métodos possuam as mesmas assinaturas de
métodos.III. Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da sobrecarga de métodos. 
Identifique a(s) afirmativa(s) correta(s):
 a) III.
 b) I.
 c) II.
 d) I e III.
 e) II e III.
0,00/ 0,50
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5876239/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 2/7
Alternativa marcada:
e) II e III.
Justificativa: Resposta correta: I e III.A sobrecarga de operadores é um conceito que só ocorre quando utilizamos um mesmo operador para realizar
diferentes tarefas em uma mesma linguagem de programação. Verdadeira. Uma vez que o conceito de sobrecarga de operadores está ligado quando em
uma linguagem de programação, utilizamos um mesmo operador para realizar diferentes tarefas.A sobrecarga de métodos é obtida ao se criar mais de um
método com o mesmo nome em uma mesma classe ou classes diferentes e, para isso, é importante que esses métodos possuam as mesmas assinaturas de
métodos. Verdadeira. Ressaltando que, como os construtores também são métodos, e em ambos os casos os parâmetros são verificados não de acordo
com o identificador, mas sim pela sequência dos tipos (assinatura). 
Distrator:Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da sobrecarga de métodos. Falsa. Para que haja a sobrecarga de
métodos, é necessário que sejam criados métodos com mesmo nome e na mesma classe ou em classes diferentes, mas com assinaturas de métodos
diferentes.
3  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 getPeso( ) {                               return peso;     }
 d) public setPeso(double p) {                               peso = p;    }
 e) public double setPeso( ) {                               return peso;    }
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.
1,00/ 1,00
4  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.
0,00/ 1,50
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5876239/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 3/7
 a) Atleta = new PesoIdeal(1.80, 80.5);
 b) PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
 c) PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8)
 d) PesoIdeal atleta = new PesoIdeal (“Paulo”, “Sobrepeso”,80.5, 1.8)
 e) PesoIdeal = new atleta(1.80, 80.5);
Alternativa marcada:
c) PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8)
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 classePesoIdeal. 
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) 
5  Código: 36633 - Enunciado: "A interface é muito utilizada em grandes projetos para obrigar o programador a seguir o padrão do projeto, por esta tratar-se
de um contrato em que é obrigado a implementar seus métodos, ele deverá sempre seguir o padrão de implementação da interface."(Disponível em:
https://www.devmedia.com.br/java-interface-aprenda-a-usar-corretamente/28798. Acesso em: 26 out. 2019.) 
Em relação aos conceitos de interfaces Java, analise as seguintes afirmativas:I. Uma interface é uma classe totalmente abstrata e seus métodos devem ser
abstract e private.II. Em uma interface os seus atributos devem ser static e final.III. Uma classe é restrita a implementar uma única interface. 
Identifique a(s) afirmativa(s) correta(s):
 a) I e II.
 b) I.
 c) III.
 d) I e III.
 e) II.
Alternativa marcada:
e) II.
Justificativa: Resposta correta: II.Em uma interface os seus atributos devem ser static e final. Verdadeiro. Em uma interface todos os atributos definidos
são implicitamente static e final, não sendo necessário que sejam formalmente modificados. 
Distratores:Uma interface é uma classe totalmente abstrata e seus métodos devem ser abstract e private. Falsa. Numa interface, todos os métodos são
0,50/ 0,50
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5876239/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 4/7
implicitamente abstract e public, métodos definidos em interfaces não podem ser private.Uma classe é restrita a implementar uma única interface. Falsa.
Uma classe pode implementar mais de uma interface, sendo permitido o uso conjunto de múltiplas interfaces em uma mesma classe.
6  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(int i, String n) { }public void cadastroParcial(String n, int i, double p) { }public
void cadastroParcial(String n, int i, double p, double a) { }
 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(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) { }
 e) 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) { }
Alternativa marcada:
e) 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) { }
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
0,00/ 1,50
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5876239/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 5/7
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().
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:
package Calcado;
import java.util.Scanner;
public class Sapato extends Calcado {
          //atributo
          private String cor;
          // getters and setters
          public String getCor() {
                    return cor;
          }
          public void setCor(String cor) {
                    this.cor = cor;
          }
           //Construtores da Superclasse Calcado
          public String Tipo() {
                    return super.getTipo();
          }
2,50/ 2,50
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5876239/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 6/7
          public int tamanho() {
                    return super.getTamanho();
          }
          //Construtores da Subclasse Sapato
          public Sapato() {
          }
          public Sapato(String cor) {
                  this.cor = cor;
          }
           //entrada de dados
          public void entradaDados() {
                    Scanner sc = new Scanner(Syystem.in);
                    super.entradaDados();
                    System.out.print("Digite a cor.........: ");
                    setCor(sc.nextLine());
          }
          //saída de dados
          public void imprimir() {
                    super.imprimir();
                    System.out.println("Cor.........:  + getCor()");
          }
Comentários: //Construtores da Superclasse Calcado --> ??????????????? Não tinha isso ! public String Tipo() { return super.getTipo(); } public int tamanho()
{ return super.getTamanho(); }
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 
08/04/2021 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/5876239/b7ffc5a0-200e-11e9-9916-0242ac11003c/ 7/7
      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 os métodos e atributos devem ser acessíveis somente por membros da própria classe, já que restringe a visibilidade do membro modificado.
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

Continue navegando