Buscar

2021 1 - POO EM JAVA - 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 4 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

1 
 
 
 Avaliação – AVI 
1º Semestre 2021 
Duração: 
Disciplina: PROGRAMAÇÃO ORIENTADA A 
OBJETOS EM JAVA 
Turma: 
Docente: MARCELO RICARDO ROSSI Período: NOTURNO 
Semestre Curricular: SEMESTRE 
Curso: CIÊNCIA DA COMPUTAÇÃO 
Data: / / 
Nome do aluno: 
Nota 
Nº de matrícula: 
 
Instruções para realização da prova: 
 
Os valores das questões estão marcados abaixo. A prova tem valor 5,0 pontos. A prova é individual. Tenha todos os seus materiais (caneta, 
lápis e borracha) em mãos durante a prova. A prova deve ser respondida, obrigatoriamente, usando caneta azul ou caneta preta. 
Todas as respostas das questões deverão ser anotadas em uma folha de sulfite branca contendo seu nome. As respostas deverão estar em 
letra legível para a leitura. Postar a prova no ambiente de entrega em formato PDF. 
 
 
1. [0,5] – Em um programa em Java podemos executar duas ou mais threads ao mesmo tempo, ou seja, dois 
ou mais procedimentos internos do programa ao mesmo tempo. Nesse contexto considere a classe Corrida 
abaixo que possui um construtor que recebe o nome de um piloto, simula uma corrida com 10.000 voltas e 
ao final da execução informa que o Piloto terminou a corrida: 
 
public class Piloto extends Thread{ 
 
 private String nome; 
 
 public Piloto(String str){ 
 nome = str; 
 } 
 
 public void run(){ 
 
 System.out.println("****LARGADA ****"); 
 System.out.println("Primeira volta: " + nome); 
 for(int cont=0; cont<10000; cont++){}; 
 System.out.println(nome + " -> Terminou a Corrida !!!"); 
 
} 
} 
 
A classe seguinte executa a corrida com três pilotos diferentes: 
 
public class Corrida { 
 
 public static void main(String[] args){ 
 
 Piloto um = new Piloto("Rubinho"); 
 Piloto dois = new Piloto("Schumacher"); 
 Piloto tres = new Piloto("Raikonnen"); 
 um.start(); 
 dois.start(); 
 tres.start(); 
 
 } 
} 
 
2 
 
Analise as afirmativas a seguir: 
 
I. Não é possível afirmar quem será o primeiro a terminar a corrida; 
II. O código não executará, pois, a Classe Piloto deve implementar a interface Runnable; 
III. O método start() deve ser substituído pelo método run() para que a thread seja executada; 
 
A respeito das afirmativas: 
 
a) Apenas a I está correta; 
b) I e II estão corretas; 
c) II e III estão corretas; 
d) Apenas a II está correta; 
e) Apenas III está correta; 
 
2. [0,5] – Um programador está desenvolvendo um sistema comercial em Java no qual precisa inserir dados 
de clientes em um banco de dados. Esse programador implementou o seguinte método para inserir dados 
de um cliente em um banco de dados utilizando JDBC: 
 
public int salvarCliente(int id, String nome, double renda){ 
 
 try{ 
 
...I... 
 
 st.setInt(1,id); 
 st.setString(2,nome); 
 st.setDouble(3,renda); 
 
 retorno = st.executeUpdate(); 
 
 } catch(SQLExecption e){ 
 retorno = -1; 
 } 
 
 return retorno; 
} 
 
Considere que: 
 
 Existe uma variável conn que é baseada na interface Connection, st é da interface 
PreparedStatement e retorno é uma variável do tipo int, todas declaradas e inicializadas 
anteriormente; 
 Uma conexão com um banco de dados que contém a tabela cliente foi estabelecida com sucesso e 
em condições ideais; 
 A tabela cliente possui os campos abaixo: id − inteiro, não nulo, chave primária; nome − cadeia de 
caracteres; renda – real; 
 
 
3 
 
Nestas condições, para que o método esteja correto, a lacuna ...I... deve ser preenchida com a instrução. 
 
a) st = conn.prepareCommand("insert into cliente (id, nome, renda) values (?id, ?nome, ?renda)"); 
b) st = conn.preparedStatement("insert into cliente (id, nome, renda) values (?, ?, ?)") 
c) st = conn.prepareStatement("insert into cliente(id,nome,renda) values("+ id + "," + nome + "," + renda 
+ ")"); 
d) st = conn.executeStatement("insert into cliente values ( '" + id + "', " + nome + " , '" + renda + "')"); 
e) st = conn.prepareStatement("insert into cliente (id, nome, renda) values (?, ?, ?)"); 
 
3. [0,5] – Considere as afirmações relacionadas ao Paradigma de Orientação a Objetos: 
 
I. A programação orientada a objetos divide um programa em vários objetos e cada objeto modela um 
determinado problema; 
II. A técnica que faz com que detalhes internos do funcionamento dos métodos de uma classe 
permaneça ocultos para os objetos é conhecida como encapsulamento; 
III. Herança múltipla é a propriedade do POO que determina que cada classe pode ter apenas uma 
superclasse, herdando dela métodos e atributos; 
 
Qual(s) afirmativa(s) é (são) verdadeira(s)? 
 
a) I; 
b) I e III; 
c) II e III; 
d) I e II; 
e) I, II e III; 
 
4. [0,5] – A orientação a objetos é um modelo de análise, projeto e programação de sistemas de software 
baseado na composição e interação entre diversas unidades de software chamadas de objetos. Com relação 
a conceitos de orientação a objetos, julgue os seguintes itens: 
 
I. As variáveis ou métodos declarados com modificador de acesso private só são acessíveis a métodos 
da classe em que são declarados; 
II. Uma classe deve possuir uma única declaração de método construtor; 
III. Uma instância de uma classe abstrata herda atributos e métodos de sua superclasse direta; 
IV. O polimorfismo permite substituir a lógica condicional múltipla (lógica switch ou faça caso); 
 
a) I e II; 
b) I e III; 
c) I e IV; 
d) II e III; 
e) II e IV; 
4 
 
 
5. [0,5] – Em Java, qual modificador de acesso torna um membro disponível somente para classes dentro do 
mesmo pacote ou subclasses? 
 
a) protected; 
b) default; 
c) private; 
d) public; 
e) package-private; 
 
6. [0,5] – Sobre relacionamento entre objetos, podemos dizer que: 
 
_______ : um objeto pode ser formado por outros objetos. 
_______: um objeto pode conter outros objetos. 
_______: objetos podem usar outros objetos. 
 
Os espaços acima representam, RESPECTIVAMENTE: 
 
a) Composição, associação, agregação; 
b) Associação, agregação, composição; 
c) Composição, agregação, associação; 
d) Associação, composição, agregação; 
e) Agregação, associação, composição; 
 
7. [1,0] – Explique com suas palavras qual o objetivo das exceções em JAVA e como as mesmas podem ser 
tratadas através de um exemplo de código. 
 
8. [1,0] – Quais são as possíveis estratégias que podemos utilizar para realizar conexão e manipulação de 
informações em banco de dados. Explique com suas palavras quais os passos necessários para utilizarmos 
cada uma destas estratégias.

Continue navegando