Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Universidade do Oeste de Santa Catarina - UNOESC
Disciplina: Prog. Orientada a Objetos
Professor: Ricardo Antonello
Simulado
������������������������������������������������
�
�����������������
��
������������
�
1) O que significa o código abaixo? Qual é sua finalidade?
public interface IIndicador {
public boolean recalcula();
public float getValor(int index);
}
É uma interface que pode ser implementada por
uma classe ou mais classes, as classes que
implementam interfaces devem implementar
todos os métodos da interface.
2) Utilizando, se necessário, o código da questão acima,
complete o código para que a classe abaixo compile sem
erros.
public class MACD implements IIndicador {
public Boolean recalcula (){
return true;
}
public float getValor(int index){
this.index = index;
return index;
}}
O código abaixo compila e executa. Somente foram
retirados os métodos gets, sets e os imports. Altere o
método compareTo para que, quando ordenada, uma lista de
objetos do tipo Cotacao fiquem ordenados na ordem
crescente da propriedade volume.
public class Cotacao implements
Comparable<Cotacao> {
private Date date;
private float open;
private float close;
private float max;
private float min;
private int operations;
private float volume;
//construtor
public Cotacao(Date date, float open, float
min, float max, float close,
int operations, float volume) {
this.date = date;
this.open = open;
this.close = close;
this.max = max;
this.min = min;
this.operations = operations;
this.volume = volume;
}
//gets e sets
// @Override
// public int compareTo(Cotacao c) {
// Date d = c.getDate();
// return this.date.compareTo(d);
// }
public int compareTo(Cotacao c) {
//escreva seu codigo abaixo!
}
}
3) Assinale V ou F:
( F ) Métodos estáticos só podem existir em classes
estáticas, ou seja, classes que possuam o modificador static
na definição. Ex: public static class NewClass
{...}.
( V ) Não é possível criar classes estáticas.
( V ) Não é necessário criar uma instancia para utilizar um
método estático.
( V ) A partir de um objeto instanciado de uma classe com
métodos estáticos é possível acessar os métodos estáticos e
não estáticos.
( F ) A partir de um objeto instanciado de uma classe com
métodos estáticos é possível acessar os métodos estáticos
apenas.
( F ) A partir de um objeto instanciado de uma classe com
métodos estáticos é possível acessar apenas os métodos
não estáticos.
4) “Um template, um modelo a partir do qual objetos são
criados”. Esta definição se refere a:
a) Classe
b) Objeto
c) Instancia
d) Encapsulamento
e) Construtor
f) Herança
g) Polimorfismo
5) Encapsulamento ou data hiding é:
a) Combinar dados e comportamento em um pacote e esconder
sua implementação.
b) Derivar uma classe de outra classe através da palavra chave
extends em java. herança
Universidade do Oeste de Santa Catarina - UNOESC
Disciplina: Prog. Orientada a Objetos
Professor: Ricardo Antonello
c) Permitir que o mesmo nome de método seja usado diversas
vezes, possibilitando esconder o comportamento executado
em cada um.
d) Encapsulamento é criar métodos que não possuem
parâmetros, pois, dessa forma, os dados necessários já
estarão dentro do método.
e) Nenhuma das alternativas.
6) Em Java o tempo é representado por:
a) A classe Time para o calendário gregoriano padrão utilizado
no Brasil e nos EUA.
b) Um calendário através da classe Calendar que possui dias,
meses e anos para qualquer padrão no mundo.
c) Pelo conjunto de 3 inteiros que representam ano, mês e dia.
d) A classe Date que é um número que representa o tempo,
positivo ou negativo, a partir de 1970 no dia 1º de janeiro as
00h00.
e) Pela classe Time que representa o tempo de maneira
universal dentro da linguagem Java.
7) O seguinte código compila e executa:
GregorianCalendar c = new
GregorianCalendar(2011,5,19);
System.out.println(c.get(GregorianCalendar
.DAY_OF_WEEK));
c.add(GregorianCalendar.DAY_OF_MONTH, -
1);
System.out.println(c.get(GregorianCalenda
r.DAY_OF_WEEK));
Se na primeira linha impressa, aparece o valor 5
representando a quinta-feira, na segunda linha impressa
aparecerá qual informação?
a) 4
b) 5
c) 6
d) Sexta-feira
e) Quinta-feira
f) Wednesday
8) Um construtor deve ter?
a) Tipo de retorno null
b) No mínimo um parâmetro de qualquer tipo
c) No mínimo um parâmetro String
d) Tipo modificar de acesso public
e) Nenhuma das alternativas anteriores
9) Sobre herança analise o código abaixo e responda.
public class Animal{
public void respirar() {…}
}
public class Mamifero extends Animal{
public void mamar() {…}
}
public class Gato extends Mamifero{
public void miar() {…}
}
Public classe Ambiente{
public static void main(String a[]){
Gato g = new Gato();
// *** //
}
}
a) Substituindo // *** // por: g.miar(); gera erro de execução pois
o gato não pode miar.
b) Substituindo // *** // por: g.respirar();gera erro pois o gato
extende de Mamifero que não possui este método reescrito.
c) Substituindo // *** // por: g.respirar(); não gera erro pois o
gato extende este comportamento de Mamifero que por sua
vez extende de Animal.
d) Substituindo // *** // por: g.toString(); gera erro de execução
pois o gato não pode utilizar métodos da classe Object já
que extendeu a classe Mamifero.
e) Nenhuma das alternativas anteriores
10) Sobre o código abaixo, relacionado a parâmetros
implícitos e explícitos, assinale a alternativa que
corresponde a saída do programa:
public class G1 {
public static void main(String e[]) {
String a="b", b="c";
altera("d");
System.out.print(a);
}
private static void altera(String a){
a="c";
}
}
a) Imprime a
b) Imprime b
c) Imprime c
d) Imprime d
e) Imprime e
11) Sobre herança analise o código abaixo e responda o
que a classe Ambiente imprime quando executada.
public class Animal{
public void respirar() {…}
}
public class Mamifero extends Animal{
public String mamar() { return “sem
mamadeira”;}
}
public class Homem extends Mamifero{
public String mamar() { return “com
mamadeira”;}
}
Public classe Ambiente{
public static void main(String a[]){
Mamifero h = new Homem();
System.out.println(h.mamar());
}
}
a) com mamadeira
b) sem mamadeira
c) Não imprime nada
d) Erro de compilação pois não é possível sobrescrever o
método mamar em Homem.
e) Erro de compilação pois não é possível atribuir a variável h
que é do tipo Mamifero um objeto do tipo Homem.
12) O código abaixo compila e executa. Examine o código
abaixo e responda:
public class G1 {
private static int n = 0;
Universidade do Oeste de Santa Catarina - UNOESC
Disciplina: Prog. Orientada a Objetos
Professor: Ricardo Antonello
public static void main(String e[]) {
G1 n1 = new G1(1);
G1 n2 = new G1(2);
G1 n3 = new G1(3);
System.out.print(n);
}
public G1(int n){
n++;
}
}
a) Imprime 0
b) Imprime 1
c) Imprime 2
d) Imprime 3
e) Imprime 4
f) Imprime null
13) O código abaixo compila e executa sem erros. Analise e
responda a alternativa correta para a saída em tela.
public class Cliente {
private String nome;
private int idade;
public static void main(String e[]) {
Cliente c1 = new Cliente("Pelé", 1);
Cliente c2 = new Cliente("Maradona", 2);
Cliente c3 = new Cliente("Ronaldinho", 3);
c1 = c2;
c2 = c3;
c2.setNome("Robinho");
System.out.print(c3.getNome()
+ " e " + c1.getNome());
}
public Cliente(String n, int i) {
this.nome = n;
this.idade = i;
}
public void setNome(String n) {
this.nome = n;
}
public String getNome() {
return this.nome;
}
}
a) Maradona e Pele
b) Ronaldinho e Maradona
c) Ronaldinho e Pele
d) Robinho e Maradona
e) Nenhuma das alternativas
14) Qual código inserido na linha 7 cria uma estancia de
Bar?
�� ���������������
�� �������������
�����
�� ������
�
���������������
�� ������������� � ���
����� �����
�������
�������
�� ������������������
������������
� ���������!!����
��"�#��$�
����
%� %���������
&� &�������
a) Foo.Bar b = new Foo.Bar();
b) Foo.Bar b = f.new Bar();
c) Bar b = new f.Bar();
d) Bar d = f.new Bar();
e) Foo.Bar b = new f.Bar();
O polimorfismo é caracterizado quando duas ou mais
classes distintas tem métodos de mesmo nome, de forma
que uma função possa utilizar um objeto de qualquer uma
das classes polimórficas, sem necessidade de tratar de
forma diferenciada conforme a classe do objeto.
Sobrescrita: Utilizada para definir o comportamento de
um método de mesmo nome já definido na superclasse.
Sobrecarga: Utiliza o nome do método já definido na
classe ou superclasse.
Dependencia: usa-um
Agregação: tem-um.
Herança: é-um.
Agregação: método chamado por new.
O metodo toString é herdado por todos os objetos da classe
Object.
As Linguagens orientadas a objetos utilizam o conceito de
mensagen para efetuar a comunicaçao.
O conceito de herança possibilita a especializacao de
comportamentos pre-existentes em classes ancestrais.
É possivel implementar varias interfaces emu ma mesma classe,
contudo, caso algum metodo seja definido como abstrato sera
necessario tambem definer a classe como abstrata.
@One to Many cria uma Terceira tabela para gerenciar o
relacionamento caso nao seja utilizada a anotaçao mappedBy
Persistence.xml é um arquivo contend informacoes de
cnfiguracao do banco de do projeto. Ele contem,por exemplo, a
senha e o login do banco de dados o nome do banco d dados,
etc.