Buscar

Gabarito - UNIVESP - Prova - 2021 - Programação Orientada a Objetos

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 5 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

Prévia do material em texto

GABARITO 
DISCIPLINA 
EEP101 - Programação Orientada a Objetos 
APLICAÇÃO 
16/06/2021 
CÓDIGO 
DA PROVA P010/P011 
 
QUESTÕES OBJETIVAS 
Questão 1.1 
Um dos princípios da programação orientada a objetos é o encapsulamento, diretamente relacionado 
ao acesso e modificação de dados da classe. Assim, é correto afirmar que através do encapsulamento, 
é possível: 
a. abstrair conceitos e dados da classe. 
b. hierarquizar classes e dados. 
c. abstrair funções. 
d. não permitir que dados sejam modificados fora da classe que o possui. 
e. definir atributos e especificar classes. 
 
RESOLUÇÃO 
A resposta correta é: não permitir que dados sejam modificados fora da classe que o possui. 
 
Justificativa 
Uma forma de proteção dos dados ao acesso e modificação. 
 
 
Questão 1.2 
Na linguagem Java, uma forma de implementar o polimorfismo é fazendo o uso de interface. A esse 
respeito, marque a alternativa incorreta. 
a. Uma interface é um contrato, as classes devem implementar alguns dos métodos. 
b. A classe que faz uso de uma interface deverá usar no seu cabeçalho a 
palavra implements seguido do nome da interface. 
c. Uma interface é um contrato, as classes devem implementar todos os métodos. 
d. Não é possível criar objetos a partir de uma interface. 
e. É possível criar hierarquia de interfaces. 
 
RESOLUÇÃO 
A resposta errada é: Uma interface é um contrato, as classes devem implementar alguns dos 
métodos. 
 
Justificativa 
O contrato deve ser cumprido, por isso todos os métodos da interface devem ser implementados sem 
exceção. 
 
 
 
Questão 1.3 
Observe o código Java a seguir, que implementa a classe Data. Nesta classe há atributos private e o 
acesso é restrito aos métodos da classe, chamados “getters” e “setters”. Esta propriedade 
implementada nesta classe, consiste em: 
 
public class Data { 
 private int dia; 
 private int mes; 
 private int ano; 
 
 public Data(int dia, int mes, int ano) { 
 this.dia = dia; 
 this.mes = mes; 
 this.ano = ano; 
 } 
 
 public int getDia() { 
 return dia; 
 } 
 
 public void setDia(int dia) { 
 this.dia = dia; 
 } 
 
 public int getMes() { 
 return mes; 
 } 
 
 public void setMes(int mes) { 
 this.mes = mes; 
 } 
 
 public int getAno() { 
 return ano; 
 } 
 
 public void setAno(int ano) { 
 this.ano = ano; 
 } 
 
 @Override 
 public String toString() { 
 return "Data [dia=" + dia + ", mes=" + mes + ", ano=" + ano + "]"; 
 } 
} 
 
a. herança 
b. encapsulamento 
c. polimorfismo 
d. associação de classes 
e. interface. 
 
RESOLUÇÃO 
A resposta correta é: encapsulamento. 
 
Justificativa 
Encapsulamento é uma propriedade da orientação a objetos de forma que acesso e modificação de 
atributos da classe, sejam realizadas somente por métodos da classe ou ainda por métodos de classes 
de mesmo pacote, de tal forma a garantir segurança dos dados manipulados pelos objetos das 
classes. 
 
 
Questão 1.4 
Observe o código Java a seguir, em que a classe ImprimirP herda características e funcionalidades da 
classe Thread. Marque a alternativa incorreta: 
 
public class ImprimirP extends Thread{ 
 int idTarefa; 
 int tempo; 
 public ImprimirP(int id, int t) { 
 this.idTarefa = id; 
 this.tempo = t; 
 } 
 
 public void run() { 
 try { 
 System.out.println("Tarefa 
#"+this.idTarefa+" vai dormir 
"+this.tempo+" milisegundos"); 
 Thread.sleep(this.tempo); 
 }catch(InterruptedException e) { 
 e.printStackTrace(); 
 } 
 System.out.println("Tarefa 
#"+this.idTarefa+" acordou!!"); 
 } 
 
} 
public class TesteThreadImprimirP { 
 
 public static void main(String[] args) { 
 // TODO Auto-generated method 
stub 
 ImprimirP t1 = new ImprimirP(1, 5000); 
 t1.start(); 
 ImprimirP t2 = new ImprimirP(2, 500); 
 t2.start(); 
 ImprimirP t3 = new ImprimirP(3, 3000); 
 t3.start(); 
 } 
 
 } 
 
a. Há três threads rodando. 
b. A classe ImprimirP implementa o método run() que ativa a execução de uma tarefa que será 
executada em paralelo. 
c. Há três tarefas sendo executadas em paralelo. 
d. A tarefa é escrever String sobre status, identificador e o tempo da tarefa. 
e. O início da tarefa se dá pela execução do método super. 
 
RESOLUÇÃO 
A resposta correta é: O início da tarefa se dá pela execução do método super. 
 
Justificativa 
O início da tarefa se dá pela execução do método start da superclasse Thread. 
 
QUESTÕES DISSERTATIVAS 
 
Questão 2 
Escreva o código em Java das classes a seguir, com atributos privados e métodos acessadores e 
modificadores. Implemente o conceito de polimorfismo nos construtores da classe Bebida e o 
conceito de herança entre classes, ou seja, BebidaAlcoolica é uma especialização de Bebida. 
 
 
 
 
RESOLUÇÃO 
import java.util.Date; 
 
public class Bebida { 
 
 private String nome; 
 private String codigo; 
 private Double preco; 
 
 public Bebida() { 
 
 } 
 
 public Bebida(String nome, String 
codigo, Double preco) { 
 this.nome=nome; 
 this.codigo=codigo; 
 this.preco=preco; 
 } 
 
 
 public String getNome() { 
 return nome; 
 } 
 
 public void setNome(String nome) { 
 this.nome = nome; 
 } 
 
 public String getCodigo() { 
 return codigo; 
 } 
 
import java.util.*; 
 
public class BebidaAlcoolica extends 
Bebida{ 
 
 private Double teor; 
 
 public BebidaAlcoolica(Double teor, 
Double preco, String codigo, String nome) 
{ 
 super.setPreco(preco); 
 super.setCodigo(codigo); 
 super.setNome(nome); 
 this.teor=teor; 
 
 } 
 
 public Double getTeor() { 
 return teor; 
 } 
 
 public void setTeor(Double teor) { 
 this.teor = teor; 
 } 
 
} 
 
Bebida 
Nome: String 
Código: String 
Preço: Double 
Getters e Setters 
 
BebidaAlcoolica 
Teor: Double 
Getters e Setters 
 public void setCodigo(String codigo) 
{ 
 this.codigo = codigo; 
 } 
 
 public Double getPreco() { 
 return preco; 
 } 
 
 public void setPreco(Double preco) { 
 preco = preco; 
 } 
 
} 
 
Rubricas | critérios de correção 
Cada classe: 0.2*2 = 0.4 ponto 
Todos os atributos private: 0.2 ponto 
Polimorfismo no construtor, mínimo 2 construtores com parâmetros diferentes: 0.2 ponto 
Herança: 0.2 ponto 
Cada método implementado: 0.1 *10 = 1 ponto 
 
 
Questão 3 
Exemplifique o uso da classe de objetos List, do pacote java.util, adicionando 3 objetos nesta estrutura 
de dados e mostrando seu conteúdo. 
 
RESOLUÇÃO 
import java.util.*; 
public class TestaList { 
 
 public static void main(String[] args) { 
 // TODO Auto-generated method stub 
 List<String> lista1 = new ArrayList<>(); 
 lista1.add("Maria"); 
 lista1.add(1, "Joao"); 
 lista1.add("Ana"); 
 lista1.add("Ana"); 
 lista1.add(1,"teste"); 
 System.out.println("ArrayList de Nomes: " + lista1); 
 } 
} 
 
Rubricas | critérios de correção 
Considerar cada item pedido (a)classe de objetos List, (b)pacote java.util, (c) 3 objetos na estrutura de 
dados e (d)mostrar o conteúdo, 0.5 pontos.

Outros materiais