Buscar

02 - JAVA_OO

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 125 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 125 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 9, do total de 125 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

W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR 
Orientação a Objetos com Java 
Professor Marcelo Pacote – @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Acesse nosso site em 
WWW.DOMINANDOTI.COM.BR 
 Curta o Dominando TI no 
e receba nossas dicas sobre concursos! 
Cursos Turmas em Brasília, na sua cidade, e cursos online 
Livros Edições publicadas, lançamentos e promoções 
Fórum Interação direta entre estudantes e com os professores 
Simulados Questões inéditas, ranking de notas e correções em vídeo 
Blog Dicas e macetes de estudo, indicações de bibliografia, etc. 
Materiais Versões atualizadas de notas de aula e listas de exercícios 
W W W. D OMI NAND OTI .COM.B R 
Orientação a Objetos 
 Propósitos da Programação Orientada a Objetos 
Facilidade de manutenção; 
Facilidade de evolução; 
Reutilização. 
3 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Herança – definição e terminologia 
 Capacidade de incorporar os dados e métodos de uma classe 
previamente definida. 
 Possibilidade de criar hierarquia de classes. 
 Herança múltipla (não disponível em Java) 
Terminologia: 
 estender = criar uma nova classe que herda todo o conteúdo da 
classe existente. 
 superclasse = uma classe progenitora ou “base”. 
 subclasse = uma classe filha que herda (ou estende) de uma 
superclasse. 
4 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Encapsulamento 
 O encapsulamento esconde detalhes de implementação do 
objeto (métodos) e o que sobra visível é a sua interface. 
 O encapsulamento permite a visualização de uma entidade de 
software como uma caixa preta. Sabemos o que a caixa preta faz 
(interface externa) enviamos mensagens para ela, não nos 
preocupando com o que acontece dentro dela. 
 Mecanismo utilizado visando obter segurança, modularidade e 
autonomia para objetos; 
 
 
 
5 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Modificadores de acesso 
 
public + 
 
 
 
 
private - 
 
 
 
protected # 
 
 
 
<default> ~ 
Estes atributos e métodos são sempre acessíveis em todos 
os métodos de todas as classes. Este é o nível menos rígido 
de encapsulamento, que equivale a não encapsular. 
 
Estes atributos e métodos são acessíveis somente nos 
métodos (todos) da própria classe. Este é o nível mais rígido 
de encapsulamento. 
 
 
Estes atributos e métodos são acessíveis no pacote, nos 
métodos da própria classe e suas subclasses. 
 
 
Visível no pacote e na classe. 
6 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Encapsulamento - visibilidade 
7 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Atributos - controle de acesso 
Modificador classe subclasse pacote Mundo 
private  
default   
protected   * 
public     
8 Professor Marcelo Pacote - @professorpacote 
- UML X Java 
- Java é mais liberal. Permite acesso a membros protegidos 
por métodos de classes do mesmo pacote. 
 
W W W. D OMI NAND OTI .COM.B R 
Exercício [01] (MPU/2010/CESPE)* adaptada 
A respeito da hierarquia de classes, um conceito de relevância 
na programação orientada a objetos, julgue os itens que se 
seguem. 
( ) Se a classe C2 é uma subclasse da classe C1, todas as 
características que são herdadas por C2 foram definidas na 
classe C1 ou em alguma das superclasses de C1. 
( ) Um objeto é, necessariamente, instância de apenas uma 
classe, mesmo quando existe herança múltipla em uma 
hierarquia de classes. 
9 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [02] (Serpro/2013/Cespe/Desv/105) 
( ) A herança — um princípio de orientação a objetos que 
permite que classes compartilhem atributos e métodos — é 
utilizada para reaproveitar código ou comportamento 
generalizado ou especializar operações ou atributos. 
10 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [3] (SADPE/2009/FGV) (1/2) - adaptada 
No que diz respeito à metodologia orientada a objetos, dois 
conceitos são apresentados a seguir: 
I. separa os aspectos externos e acessíveis de um objeto dos 
detalhes internos de implementação e, paralelamente, evita que 
partes de um programa se tornem tão dependentes que uma 
pequena alteração tenha grandes efeitos em cascata. 
II. possibilita a definição de uma nova classe (subclasse), a 
partir de uma classe já existente (superclasse). 
11 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [3] (SADPE/2009/FGV) (2/2) 
Esses conceitos são conhecidos, respectivamente, por: 
a) polimorfismo e acoplamento. 
b) herança e polimorfismo. 
c) encapsulamento e herança. 
d) independência e encapsulamento. 
e) acoplamento e independência. 
12 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
O mecanismo que possibilita restringir o acesso ao 
comportamento interno de um objeto é denominado 
a) encapsulamento. 
b) herança. 
c) polimorfismo. 
d) atributo. 
e) método. 
Exercício [04] (ANA/ESAF/2009) 
13 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [5] (PETR/2011/CESGRANRIO) 
O esboço de diagrama de classes ilustrado na figura, usando a 
notação proposta pela linguagem UML, apresenta duas classes C1 
e C2 e dois pacotes p1 e p2. Quais atributos de instância podem ser 
manipulados por métodos definidos na classe C2? 
a) w, y e z b) x, y e z c) w e y d) w e) y 
14 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [6] (PGDF/2011/IADES) (1/2) 
Assinale a alternativa correta a respeito do seguinte diagrama 
de classes: 
 
 
 
 
 
 
 
15 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [6] (PGDF/2011/IADES) (2/2) 
a) Trata-se de um diagrama de colaboração e representa a 
interação entre as classes Professor e Pessoa. 
b) A classe Professor herda os atributos nome e idade da classe 
Pessoa. 
c) A classe Pessoa herda os atributos turma e salário da classe 
professor. 
d) A classe Professor herda os atributos getNome() e setNome() 
de Pessoa. 
e) A classe Pessoa herda os atributos setSalario() e getTurma() 
da classe Professor. 
 
16 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [7] (TRT-14/2011/FCC) 
A classe Veiculo contém alguns atributos de interesse da classe 
Aeronave. Todavia, as aeronaves também demonstram 
interesse em captar atributos e também operações da classe 
Elemento Turbinado. O enunciado enfatiza o conceito OO de 
a) polimorfismo. 
b) herança múltipla. 
c) dependência funcional. 
d) realização. 
e) encapsulamento. 
17 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [8] (DETRAN-DF/2009/CESPE) 
( ) A implementação de herança múltipla em Java não é 
possível. 
18 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Polimorfismo 
 Ocorre quando uma classe possui um método com o mesmo 
nome e assinatura (número, tipo e ordem de parâmetros) de um 
método na sua superclasse; 
 Toda vez que isto ocorrer, a máquina virtual irá executar o 
método da classe mais especializada (a subclasse) e não o método 
da superclasse (sobreposição). Note que esta decisão ocorre em 
tempo de execução; 
 Polimorfismo ocorre tambémquando existem dois métodos com 
mesmo nome, na mesma classe com e assinaturas diferentes. O 
método será escolhido de acordo com o número de parâmetros, 
tipo ou valor de retorno esperado. Note que esta decisão ocorre em 
tempo de compilação. 
19 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
- Substituir a implementação de um método 
herdado por uma implementação própria da 
subclasse 
public class Super { 
 ... 
 public void metodo1(){ 
 a = b * c; 
 } 
} 
 
public class Sub extends Super { 
 ... 
 public void metodo1(){ 
 x = y + z; 
 } 
} 
Polimorfismo – Sobreposição [1/5] 
20 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Polimorfismo – Sobrecarga de construtores [2/5] 
class Fruta { 
 int gramas; 
 int caloriasPorGrama; 
 Fruta() { 
 gramas=55; 
 caloriasPorGrama=0; 
 } 
 Fruta(int g, int c) { 
 gramas =g; 
 caloriasPorGrama =c; 
 } 
 void descascar () { 
 System.out.println(“Aqui eu descasco frutas”); 
 } 
} 
sobrecarga 
21 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Polimorfismo – Sobrecarga de construtores [3/5] 
class Citros extends Fruta { 
 private int acidoCitrico; 
 
 public Citros() { 
 super(); 
 this.acidoCitrico=1000; 
 } 
 
 public Citros(int g, int c, int a) { 
 super(g,c); 
 this.setAcidoCitrico(a); 
 } 
sobrecarga 
22 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
 int getAcidoCitrico() { 
 return acidoCitrico; 
 } 
 void setAcidoCitrico(int acido) { 
 this.acidoCitrico=acido; 
 } 
 void descascar () { 
 System.out.println( 
 “Aqui eu descasco so citricos”); 
 } 
 } 
Polimorfismo – Sobreposição [4/5] 
sobreposição 
23 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Polimorfismo – conclusão do exemplo [5/5] 
public class Feira 
{ 
 public static void main(String args[]) 
 { 
 Fruta melancia = new Fruta(4000, 5); 
 Fruta laranja = new Citros(); 
 melancia.descascar(); 
 laranja.descascar(); 
 } 
} 
24 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [9] (MPU/2010/CESPE) (1/2) 
 ( ) No código em Java mostrado a seguir, as classes Conta e 
Poupanca implementam o polimorfismo dinâmico. 
class Conta { 
 float saldo; 
 public float getSaldo(int i) { 
 float saldo = 0f; 
 if (i == 1 ) saldo = this.saldo * 1.03f; 
 return saldo; 
 } 
 public void setSaldo (float saldo) { 
 this.saldo = saldo + 20f; 
 } 
 } 
25 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [9] (MPU/2010/CESPE) (2/2) 
class Poupanca extends Conta 
{ 
 public float getSaldo() 
 { 
 return saldo; 
 } 
} 
26 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [10] (TCU/2005/CESPE) 
Acerca das estruturas de dados, linguagens e ambientes de 
programação e das técnicas da orientação a objetos para a 
construção de aplicações e bancos de dados, julgue os itens 
seguintes. 
( ) O polimorfismo, uma das características da orientação a 
objetos, permite eliminar dos programas estruturas de controle 
condicionais que, em programas estruturados, provocam o 
surgimento de erros e a dificuldade de extensão e reutilização. 
( ) Depois de definida, uma hierarquia de classes não deve ser 
reestruturada. 
 
27 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [11] (PETR/2011/CESGRANRIO) 
Em um projeto de software orientado a objetos, surgiu a necessidade de modelar 
um certo comportamento alternativo com base no tipo específico de uma 
determinada entidade. Procedimento similar foi desenvolvido no passado, usando 
lógica condicional através dos comandos se – então – senão em uma linguagem 
de programação estruturada. 
Qual recurso o programador deverá utilizar para solucionar a questão nesse novo 
projeto? 
a) Agregação 
b) Classes Abstratas 
c) Encapsulamento 
d) Polimorfismo 
e) Composição 
28 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [12] (MEC/2009/FGV/Adm. Dados) 
Na Análise Orientada a Objetos, o princípio pelo qual duas ou mais 
classes derivadas de uma mesma superclasse podem invocar métodos 
que têm a mesma identificação (assinatura) mas comportamentos 
distintos, especializados para cada classe derivada, usando para tanto 
uma referência a um objeto do tipo da superclasse é denominado: 
a) encapsulamento. 
b) independência. 
c) modularidade. 
d) polimorfismo. 
e) herança. 
29 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [13] (TRANSPETRO/2011/CESGRANRIO) (1/2) 
Considere as duas 
classes em linguagem 
Java apresentadas a 
seguir, ambas definidas 
em um mesmo pacote. 
30 
30 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [13] (TRANSPETRO/2011/CESGRANRIO) (2/2) 
O que é impresso como resultado da execução do programa 
composto pelas classes acima? 
 
a) 
b) 
c) 
d) 
e) 
 
31 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [14] (DETRAN-ES/2010/CESPE) 
A respeito da orientação a objetos e das respectivas linguagens 
de programação, julgue o item: 
( ) De acordo com a programação orientada a objetos, por meio 
da qual o objeto é dividido em métodos e propriedades, ocorre 
polimorfismo em situações em que apenas os aspectos 
externos do objeto são visíveis, o que possibilita que as 
alterações na implementação do programa mantenham a 
característica física do objeto, sem alterar sua forma e 
interface. 
 
32 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [15] (MPU/2010/CESPE) 
( ) Considere que uma classe C1 implemente determinado método 
M1 e tenha duas subclasses: C2 e C3. Nessa situação, o 
comportamento de um objeto de C2 ou C3 que receba uma 
mensagem invocando o método M1 será obrigatoriamente idêntico 
ao comportamento de um objeto de C1 que receba a mesma 
mensagem. 
 
33 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Classes Abstratas 
 Quando a palavra-chave “abstract” aparece no início de uma 
declaração de classe, significa que esta classe nunca gerará 
instâncias. 
 Um método abstrato não tem corpo; o seu propósito é forçar 
uma subclasse a sobrepô-lo e fornecer uma implementação 
concreta do método. 
34 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Classes Abstratas: Exemplo 
public abstract class VeiculoAquatico { 
 abstract void definirRumo (int n); 
 abstract void definirVelocidade (int n); 
} 
class Canoa extends VeiculoAquatico { 
 void definirRumo (int n){ 
 .... 
 } 
 
 void definirVelocidade (int n) { 
 ... 
 } 
} 
35 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Polimorfismo 
 Os membros definidos na superclasse podem ser acessados 
na subclasse através do qualificador super. 
 Exceto se forem privados! 
 Métodos declarados como final não podem ser 
redefinidos. 
 Métodos abstratos devem ser redefinidos ou declarados como 
abstratos. 
36 Professor Marcelo Pacote - @professorpacoteW W W. D OMI NAND OTI .COM.B R 
Interface 
 interface pode ser considerada como a forma com que um 
objeto se apresenta para outros no que diz respeito aos seus 
métodos (sua funcionalidade); 
 é a representação externa de um objeto. 
37 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Interfaces em Java 
 Criadas com a palavra reservada interface. 
 implementadas pelas classes com a palavra reservada 
implements. 
 Seus métodos sempre são públicos 
 É obrigatória a declaração ‘public’? 
 Seus atributos sempre static final. 
38 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Interface - exemplo 
public interface ControleRemoto { 
 public void ligaTV(); 
 public void desligaTV(); 
 public void mudaCanalTV(int canalNovo); 
} 
 
public class TV implements ControleRemoto { 
 public void ligaTV() {...} 
 public void desligaTV() {...} 
 public void mudaCanalTV(int canalNovo) {...} 
} 
Professor Marcelo Pacote - @professorpacote 39 
W W W. D OMI NAND OTI .COM.B R 
Modificadores de Classes em Java 
A classe pode ser usada por qualquer outra classe de 
qualquer pacote. 
 
A classe não pode ser instanciada. 
 
 
A classe não pode ter subclasse (folha da árvore de classes). 
 
 
A classe é uma subclasse da superclasse especificada. 
 
 
A classe implementa a(s) interface(s) especificadas. 
 
public 
 
 
abstract 
 
 
final 
 
 
extends 
 
 
Implements 
 
 
Professor Marcelo Pacote - @professorpacote 40 
W W W. D OMI NAND OTI .COM.B R 
Em Java, para que um método de uma superclasse não seja 
sobrescrito em suas subclasses, aplica-se o modificador 
a) static. 
b) public. 
c) final. 
d) protected. 
e) abstract. 
Exercício [16] (ANA/ESAF/2009) 
Professor Marcelo Pacote - @professorpacote 41 
W W W. D OMI NAND OTI .COM.B R 
Exercício [17] (MEC/2008/FGV/Arquiteto) (1/2) 
Acerca de análise e programação Orientada a Objeto, não é 
correto afirmar que: 
a) em linguagem de programação Java, “extends” identifica 
que uma classe deriva de outra. 
b) o encapsulamento “empacota” os dados e operações de 
determinado objeto numa entidade única. 
c) polimorfismo refere-se ao poder que os objetos têm de 
realizar a mesma tarefa a partir de informações diferentes. 
 
Professor Marcelo Pacote - @professorpacote 42 
W W W. D OMI NAND OTI .COM.B R 
Exercício [17] (MEC/2008/FGV/Arquiteto) (2/2) 
d) na UML, o Digrama de Classes modela aspectos dinâmicos 
do sistema, focando nas entidades e seus relacionamentos. 
e) com o mecanismo de herança, os objetos podem receber 
características de outros objetos e transferi-las para seus 
descendentes. 
Professor Marcelo Pacote - @professorpacote 43 
W W W. D OMI NAND OTI .COM.B R 
Exercício [18] (MEC/2008/FGV/Desenv.) (1/2) 
A respeito da linguagem Java, analise as afirmativas a seguir: 
I. O modificador final, utilizado na assinatura de uma classe, indica 
que ela é uma classe que não pode ser estendida. 
II. Classes Abstratas com métodos abstratos forçam suas 
subclasses não abstratas a sobrescreverem e implementarem os 
métodos declarados como abstratos. 
III. Java permite herança múltipla, ou seja, uma classe pode herdar 
variáveis e métodos de mais de uma superclasse ao mesmo tempo. 
Professor Marcelo Pacote - @professorpacote 44 
W W W. D OMI NAND OTI .COM.B R 
Exercício [18] (MEC/2008/FGV/Desenv.) (2/2) 
Assinale: 
a) se somente a afirmativa I estiver correta. 
b) se somente as afirmativas I e II estiverem corretas. 
c) se somente as afirmativas I e III estiverem corretas. 
d) se somente as afirmativas II e III estiverem corretas. 
e) se todas as afirmativas estiverem corretas. 
Professor Marcelo Pacote - @professorpacote 45 
W W W. D OMI NAND OTI .COM.B R 
Exercício [19] (CGU/2008/ESAF) (1/2) 
A programação orientada a objetos é baseada em diversos 
conceitos, tais como encapsulamento, herança, polimorfismo e 
abstração. Com relação a esses conceitos, é correto afirmar 
que: 
a) o conceito de encapsulamento é alcançado por meio da 
definição da visibilidade pública aos atributos e métodos. 
b) herança é um mecanismo que permite que uma classe herde 
todo o comportamento e os atributos de outra classe. Em Java, 
pode-se implementar tanto a herança única quanto a herança 
múltipla. 
 
Professor Marcelo Pacote - @professorpacote 46 
W W W. D OMI NAND OTI .COM.B R 
Exercício [19] (CGU/2008/ESAF) (2/2) 
c) interface pode ser considerada como a forma com que um objeto se 
apresenta para outros, no que diz respeito aos seus atributos e métodos. 
Em Java, uma mesma classe não pode implementar mais de uma 
interface. 
d) polimorfismo é o uso de um mesmo nome para identificar diferentes 
implementações dos métodos. Seu uso é comum na definição de 
construtores, em que os mesmos podem ser implementados em 
diferentes versões para as diferentes formas de se instanciar a classe. 
e) para uma classe ser considerada abstrata, todos os seus métodos 
devem ser abstratos. Em Java, para se definir uma classe abstrata deve-
se utilizar a palavra chave “abstract” no início de sua declaração. 
 
Professor Marcelo Pacote - @professorpacote 47 
W W W. D OMI NAND OTI .COM.B R 
Exercício [20] (MEC/2009/FGV/Arquiteto) (1/2) 
Analise o código das três classes (Classe1, Classe2 e Classe3) 
Java a seguir: 
 
class Classe1 { 
 protected Classe2 cl2; 
} 
class Classe3 extends Classe1 { } 
class Classe2 { } 
 
Professor Marcelo Pacote - @professorpacote 48 
W W W. D OMI NAND OTI .COM.B R 
Exercício [20] (MEC/2009/FGV/Arquiteto) (2/2) 
Com relação ao código é correto afirmar que: 
a) Classe3 é uma Classe2 e tem uma Classe1. 
b) Classe1 é uma Classe3 e tem uma Classe2. 
c) Classe2 tem uma Classe3 e Classe3 é uma Classe1. 
d) Classe3 tem uma Classe2 e Classe3 é uma Classe1. 
e) Classe2 tem uma Classe1 e Classe1 é uma Classe3. 
Professor Marcelo Pacote - @professorpacote 49 
W W W. D OMI NAND OTI .COM.B R 
Exercício [21] (MPE-PE/2012/FCC) (1/2) 
Sobre a programação orientada a objetos com Java, é correto 
afirmar: 
a) Uma classe pode ter mais de um método com o mesmo nome, 
desde que receba parâmetros diferentes. 
b) É obrigatório escrever em toda classe um construtor vazio que 
não recebe parâmetros. Além desse construtor, pode-se criar 
outros construtores vazios. 
c) Em uma hierarquia de herança, a superclasse herda todos os 
métodos públicos, privados e protegidos das subclasses dessa 
classe. 
Professor Marcelo Pacote - @professorpacote 50 
W W W. D OMI NAND OTI .COM.B R 
Exercício [21] (MPE-PE/2012/FCC) (2/2) 
d) Uma interface possui métodos com conteúdo implementado 
que não precisam ser reescritos nas classes que a 
implementam. 
e) No interior do método main de uma classe, mesmo os 
métodos públicos e estáticos de outra classe só podem ser 
acessados por meio de um objeto explicitamente instanciado 
Professor Marcelo Pacote - @professorpacote 51 
W W W. D OMI NAND OTI .COM.B R 
Gabarito 
[01] ec 
[02] certo 
[03] c 
[04] a 
[05] e 
[06] b 
[07] b 
[08] certo 
[09] e 
[10] certo, errado 
 
 
[11] d 
[12] d 
[13] a 
[14] errado 
[15] errado 
[16] c 
[17] d 
[18] b 
[19] d 
[20] d 
 
 
 
[21] a 
 
 
 
Professor Marcelo Pacote - @professorpacote 52 
W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR 
 
Anexo I 
Exercícios Complementares 
ESAF 
 
Professor Marcelo Pacote – @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [01] (MPU/2004/ESAF) 
Na linguagem deprogramação Java o mesmo nome de método 
pode ser usado para identificar diferentes métodos em uma 
mesma classe ou diferentes métodos em classes diferentes. 
Essa característica é denominada 
a) métodos abstratos. 
b) herança. 
c) polimorfismo. 
d) construtor. 
e) exceções. 
 
Professor Marcelo Pacote - @professorpacote 54 
W W W. D OMI NAND OTI .COM.B R 
Exercício [02] (SUSEP/2010/ESAF) 
Em relação à programação orientada a objetos, é correto 
afirmar que 
a) o objeto é definido por atributos. 
b) objetos são instâncias de um atributo. 
c) apenas atributos numéricos são válidos. 
d) atributos podem ser agrupados em pointvalues. 
e) atributos adequados dispensam referências a objetos. 
Professor Marcelo Pacote - @professorpacote 55 
W W W. D OMI NAND OTI .COM.B R 
Exercício [03] (CGU/2004/ESAF) (1/2) 
Analise as seguintes afirmações relativas à programação 
Orientada a Objetos: 
I. O polimorfismo possibilita que o mesmo nome possa ser 
utilizado em diferentes métodos em uma mesma classe, desde 
que, por exemplo, as quantidades de parâmetros sejam 
diferentes. 
II. Os métodos estáticos, quando executados, acessam apenas 
os atributos de instância da classe. 
III. O uso de um mesmo nome para identificar diferentes 
implementações dos métodos pode ocorrer na definição de 
construtores. 
 Professor Marcelo Pacote - @professorpacote 56 
W W W. D OMI NAND OTI .COM.B R 
Exercício [03] (CGU/2004/ESAF) (2/2) 
IV. Na hierarquia de classes, a herança múltipla ocorre quando 
existem diversas classes imediatamente abaixo da classe em 
questão. 
Estão corretos os itens: 
a) I e II 
b) II e III 
c) III e IV 
d) I e III 
e) II e IV 
 
 
Professor Marcelo Pacote - @professorpacote 57 
W W W. D OMI NAND OTI .COM.B R 
Exercício [04] (CGU/2008/ESAF) 
Na linguagem de programação Java, pode-se definir a visibilidade dos métodos e 
atributos. Com relação a essa característica, é correto afirmar que: 
a) métodos declarados como public em uma superclasse, quando herdados, precisam 
ser protected em todas as subclasses dessa classe. 
b) métodos declarados como protected em uma superclasse, quando herdados, 
precisam ser protected ou public nas subclasses dessa classe. 
c) o nível de acesso protected é mais restritivo do que o nível de acesso default. 
d) métodos declarados como public só podem ser acessados a partir dos métodos da 
própria classe ou de classes derivadas. 
e) métodos declarados como default só podem ser acessados a partir dos métodos da 
própria classe. 
 
Professor Marcelo Pacote - @professorpacote 58 
W W W. D OMI NAND OTI .COM.B R 
Exercício [05] (MPU/2004/ESAF) 
Na linguagem de programação Java as visibilidades dos atributos e dos 
métodos podem ser públicas, privadas e protegidas. O acesso aos 
atributos e aos métodos privados 
a) só pode ser feito a partir dos métodos que contenham atributos 
protegidos. 
b) não pode ser feito a partir dos métodos membros da classe. 
c) só pode ser feito a partir dos objetos encapsulados. 
d) só pode ser feito a partir dos métodos de qualquer classe. 
e) só pode ser feito a partir dos métodos membros da classe. 
 
Professor Marcelo Pacote - @professorpacote 59 
W W W. D OMI NAND OTI .COM.B R 
Exercício [06] (CGU/2008/ESAF) (1/2) 
Com relação aos conceitos de programação orientada a objetos, 
é correto afirmar que 
a) métodos abstratos são aqueles que não devem ser 
redefinidos em classes derivadas, devem ser herdados tal como 
foram definidos. 
b) métodos estáticos são aqueles que, ao serem executados, 
não acessam atributos de instância da classe. 
c) métodos finais, também conhecidos como finalizadores ou 
destrutores, são chamados na destruição de uma instância. 
 
Professor Marcelo Pacote - @professorpacote 60 
W W W. D OMI NAND OTI .COM.B R 
Exercício [06] (CGU/2008/ESAF) (2/2) 
d) métodos construtores são métodos chamados sobre um 
objeto quando ele é criado. Em Java, os construtores têm o 
mesmo nome da classe da qual são membros e o tipo retornado 
por eles é especificado na sua definição. 
e) métodos de classe são aqueles que executam operações que 
afetam objetos individuais da classe. 
 
Professor Marcelo Pacote - @professorpacote 61 
W W W. D OMI NAND OTI .COM.B R 
Exercício [07] (CGU/2012/ESAF) 
Polimorfismo é 
a) a multiplicidade de atributos de determinada classe. 
b) a propriedade de um diagrama de classes ter múltiplas classes 
possuidoras de atributos. 
c) a habilidade de um atributo ou variável poder identificar instâncias de 
classes com atributos dependentes. 
d) a propriedade de uma instrução poder apontar para múltiplos objetos de 
uma mesma classe sem implicações de desempenho. 
e) a habilidade pela qual uma única operação ou nome de atributo pode 
ser definido em mais de uma classe e assumir implementações diferentes 
em cada uma dessas classes. 
Professor Marcelo Pacote - @professorpacote 62 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (STN/2008/ESAF) (1/2) 
Considere a hierarquia de classes: 
MeioDeLocomocao é superclasse de 
Bicicleta e Moto; Moto implementa a 
interface Motorizado. Sendo assim, 
considerando o fragmento de código 
em Java abaixo, é correto afirmar 
que o código 
MeioDeLocomocao meio; 
Bicicleta b1, b2; 
Moto m1, m2; 
Motorizado motor; 
 
b1 = new Bicicleta(); 
meio = b1; 
b2 = (Bicicleta)meio; 
 
m1 = new Moto(); 
motor = m1; 
m2 = (Moto)meio; 
Professor Marcelo Pacote - @professorpacote 63 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (STN/2008/ESAF) (2/2) 
a) compila e executa. 
b) não compila, devido a erro na linha 8. 
c) compila, mas não executa, lançando uma exceção na linha 8. 
d) compila, mas não executa, lançando uma exceção na linha 
11. 
e) compila, mas não executa, lançando uma exceção na linha 
12. 
Professor Marcelo Pacote - @professorpacote 64 
W W W. D OMI NAND OTI .COM.B R 
Exercício [09] (SUSEP/2010/ESAF) 
Polimorfismo é a 
a) utilização múltipla de programas em análise orientada a objetos. 
b) habilidade de uma única operação ou nome de atributo ser definido em 
mais de uma classe e assumir diferentes implementações em cada uma 
dessas classes. 
c) habilidade de um programador em desenvolver aplicações e 
caracterizar objetos com múltiplos atributos. 
d) utilização de uma classe com diferentes formatos em programas com 
definição de objetos e atributos. 
e) habilidade de uma única variável ser utilizada em diferentes programas 
orientados a objetos. 
Professor Marcelo Pacote - @professorpacote 65 
W W W. D OMI NAND OTI .COM.B R 
Se, na superclasse, um método é declarado protected, o(s) 
modificador(es) aplicável(is) na sobrescrita do método é(são) 
a) private. 
b) private e protected. 
c) “default”. 
d) protected, “default” e public. 
e) protected e public. 
Exercício [10] (ANA/ESAF/2009) 
66 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Gabarito 
[01] c 
[02] a 
[03] d 
[04] b 
[05] e 
[06] b 
[07] e 
[08] e 
[09] b 
[10] e 
 
Professor Marcelo Pacote - @professorpacote 67 
W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR 
 
Anexo II 
Exercícios Complementares 
CESGRANRIO 
 
Professor Marcelo Pacote – @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [01] (PETRO/2012/CESGRANRIO) 
Ao escrever o código da Classe PortaDeCofre em Java para que 
ela atenda a interface Porta, como um programador deve 
começar a declaração da classe? 
a) public class Porta:PortaDeCofre { 
b) public class PortaDeCofre :: Porta { 
c) public classPortaDeCofre inherits Porta { 
d) public class PortaDeCofre extends Porta { 
e) public class PortaDeCofre implements Porta { 
 
 
Professor Marcelo Pacote - @professorpacote 69 
W W W. D OMI NAND OTI .COM.B R 
Exercício [2] (PETROBRAS/2010/CESGRANRIO) (1/2) 
Professor Marcelo Pacote - @professorpacote 70 
W W W. D OMI NAND OTI .COM.B R 
Exercício [2] (PETROBRAS/2010/CESGRANRIO) (2/2) 
Analisando o código, verifica-se que o programa 
a) não compila: erro na linha 04 de C2. 
b) não compila: erro na linha 08 de C2. 
c) não compila: erro na linha 09 de C2. 
d) executa e imprime C1. 
e) executa e imprime C2. 
Professor Marcelo Pacote - @professorpacote 71 
W W W. D OMI NAND OTI .COM.B R 
Exercício [3] (PETROBRAS/2010/CESGRANRIO) (1/2) 
Professor Marcelo Pacote - @professorpacote 72 
W W W. D OMI NAND OTI .COM.B R 
Exercício [3] (PETROBRAS/2010/CESGRANRIO) (2/2) 
Analisando o código ao lado, verifica-se que o programa 
a) compila e executa imprimindo na saída padrão C1 duas vezes. 
b) compila e executa imprimindo na saída padrão C2 e C3. 
c) não compila, pois classes abstratas não podem ser instanciadas. 
d) não compila, pois há incompatibilidade de tipos em atribuição. 
e) não compila, pois um vetor foi construído de forma incorreta. 
 
Professor Marcelo Pacote - @professorpacote 73 
W W W. D OMI NAND OTI .COM.B R 
Exercício [4] (PETROBRAS/2010/CESGRANRIO) (1/2) 
Professor Marcelo Pacote - @professorpacote 74 
W W W. D OMI NAND OTI .COM.B R 
Exercício [4] (PETROBRAS/2010/CESGRANRIO) (2/2) 
A saída da execução da classe A é 
a) 1 
b) 2 
c) 3 
d) 4 
e) 5 
 
Professor Marcelo Pacote - @professorpacote 75 
W W W. D OMI NAND OTI .COM.B R 
Exercício [5] (PETROBRAS/2010/CESGRANRIO) (1/2) 
Professor Marcelo Pacote - @professorpacote 76 
W W W. D OMI NAND OTI .COM.B R 
Exercício [5] (PETROBRAS/2010/CESGRANRIO) (2/2) 
A classe B acima encontra-se no mesmo pacote que a classe A. 
O método m1 apresenta erro de compilação porque a seguinte 
variável não pode ser acessada no ponto 
a) a 
b) b 
c) c 
d) d 
e) e 
 
Professor Marcelo Pacote - @professorpacote 77 
W W W. D OMI NAND OTI .COM.B R 
Exercício [6] (PETROBRAS/2010/CESGRANRIO) (1/2) 
Professor Marcelo Pacote - @professorpacote 78 
W W W. D OMI NAND OTI .COM.B R 
Exercício [6] (PETROBRAS/2010/CESGRANRIO) (2/2) 
Ao tentar compilar e executar o código acima, o resultado será 
a) a correta compilação e execução do código, com a exibição na saída 
padrão da sequência BC. 
b) a correta compilação e execução do código, com a exibição na saída 
padrão da sequência ABAC. 
c) um erro de compilação, pois A é uma classe abstrata e não pode ter 
instâncias, como obj. 
d) um erro de compilação, pois obj é da classe A e tentasse instanciá-lo 
como sendo um objeto da classe B. 
e) um erro de execução, pois uma vez feito o binding de obj com a classe 
B, não se pode mudar a classe do mesmo. 
 
Professor Marcelo Pacote - @professorpacote 79 
W W W. D OMI NAND OTI .COM.B R 
Exercício [7] (BNDES/2009/CESGRANRIO) 
Qual das afirmações a seguir faz uma apreciação correta a respeito da linguagem de 
programação Java? 
a) O conceito de herança múltipla é implementado nativamente. 
b) Uma classe pode implementar somente uma interface ao mesmo tempo. 
c) Uma classe pode implementar uma interface ou ser subclasse de outra classe 
qualquer, mas não ambos simultaneamente. 
d) A construção de um método que pode levantar uma exceção, cuja instância é uma 
subclasse de java.lang.RuntimeException, não exige tratamento obrigatório por parte 
do programador dentro daquele método. 
e) Objetos da classe java.lang.String têm comportamento otimizado para permitir que 
seu valor seja alterado sempre que necessário, liberando imediatamente a memória 
usada pelo conteúdo anterior. 
 
Professor Marcelo Pacote - @professorpacote 80 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (PETR/2011/CESGRANRIO) (1/3) 
Professor Marcelo Pacote - @professorpacote 81 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (PETR/2011/CESGRANRIO) (2/3) 
Professor Marcelo Pacote - @professorpacote 82 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (PETR/2011/CESGRANRIO) (3/3) 
O resultado, obtido ao tentar compilar e executar esse conjunto de classes, 
será 
a) um erro de compilação, indicando que não é possível fazer uma conversão 
da classe Concreta1 para a classe Interface1. 
b) um erro de compilação, indicando que, no contexto de x, não existe 
metodoExotico. 
c) nenhuma saída e um erro em tempo de execução, indicando que, dada a 
conversão de Concreta1 para Interface1, não é possível acessar metodoExotico. 
d) impressão do número 1, seguida de um erro de tempo de execução, 
indicando que, dada a conversão de Concreta1para Interface1, não é possível 
acessar metodoExotico. 
e) impressão dos números 1 e 2. 
Professor Marcelo Pacote - @professorpacote 83 
W W W. D OMI NAND OTI .COM.B R 
Gabarito 
[01] e 
[02] c 
[03] b 
[04] c 
[05] e 
[06] b 
[07] d 
[08] b 
 
 
 
Professor Marcelo Pacote - @professorpacote 84 
W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR 
 
Anexo III 
Exercícios Complementares 
FCC 
 
Professor Marcelo Pacote – @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [1] (TRF-2/2012/FCC) (1/2) 
Sobre orientação a objetos é correto afirmar: 
a) Na hierarquia de classes, se superclasse é uma 
generalização de subclasses, pode-se inferir que a subclasse é 
uma especialização de superclasse. 
b) Numa árvore genealógica de classes, a classe mais baixa 
herda os atributos e métodos somente da superclasse no nível 
imediatamente acima. 
c) As variáveis de uma classe só podem ser alteradas por 
métodos definidos nos seus objetos. 
 
Professor Marcelo Pacote - @professorpacote 86 
W W W. D OMI NAND OTI .COM.B R 
Exercício [1] (TRF-2/2012/FCC) (2/2) 
d) O polimorfismo se caracteriza quando, para mensagens 
distintas, objetos diferentes responderem ou agirem de forma 
idêntica. 
e) Os objetos de uma classe são idênticos no que se refere à 
sua interface e ao seu estado. 
 
Professor Marcelo Pacote - @professorpacote 87 
W W W. D OMI NAND OTI .COM.B R 
Exercício [2] (TRF-2/2012/FCC) (1/2) 
Em relação às formas de relacionamentos em herança, 
considere: 
 
I. A classe derivada acrescenta atributos e funcionalidades ao 
que já fora definido na superclasse. 
 
II. A classe derivada oferece implementação a funcionalidades 
declaradas na superclasse. 
 
III. A classe derivada implementa especificação e reaproveita 
funcionalidades da superclasse. 
 
 
Professor Marcelo Pacote - @professorpacote 88 
W W W. D OMI NAND OTI .COM.B R 
Exercício [2] (TRF-2/2012/FCC) (2/2) 
Os itens I, II e III referem-se, respectivamente, a 
 
a) especificação, herança estrita e combinação de especificação 
e herança estrita. 
b) herança estrita, herança polimórfica e extensão. 
c) extensão, especificação e herança polimórfica. 
d) herança polimórfica, combinação de especificação e herança 
estrita e especificação. 
e) especificação, extensão e contração. 
 
 
 
Professor Marcelo Pacote - @professorpacote 89 
W W W. D OMI NAND OTI .COM.B R 
Exercício [3] (TRE-SP/2012/FCC) (1/2) 
Sobre herança na orientação a objetos com Java é correto afirmar: 
a) Um erro de compilação ocorre se um construtor de subclasse chamar um de 
seus construtores de superclasse com argumentos que não correspondem 
exatamente ao número e tipos de parâmetros especificados em uma das 
declarações de construtor de superclasse. 
b) Com a herança, as variáveisde instância comuns e os métodos de todas as 
classes na hierarquia são declarados em uma subclasse. Quando as alterações 
são requeridas para esses recursos comuns, os desenvolvedores só precisam 
fazer as alterações na subclasse - as superclasses herdam as alterações. 
c) É aconselhável utilizar o modificador de acesso public quando uma superclasse 
precisar fornecer um método somente para suas subclasses e outras classes do 
mesmo pacote, mas não para outros clientes. 
 
 
 
Professor Marcelo Pacote - @professorpacote 90 
W W W. D OMI NAND OTI .COM.B R 
Exercício [3] (TRE-SP/2012/FCC) (2/2) 
d) Não é adequado sobrescrever na subclasse métodos da 
superclasse para fornecer versões que são mais apropriadas 
para os objetos da subclasse. 
e) Quando um programa cria um objeto da superclasse, o 
construtor da superclasse imediatamente chama o construtor 
da subclasse (explicitamente, via super ou implicitamente). 
 
 
 
Professor Marcelo Pacote - @professorpacote 91 
W W W. D OMI NAND OTI .COM.B R 
Exercício [4] (TJ-RJ/2012/FCC) 
Na orientação a objetos, em uma relação de herança entre classes, a 
subclasse herda da superclasse 
a) apenas as variáveis públicas de instância. 
b) apenas os métodos e variáveis de instância públicos. 
c) todas as variáveis de instância e apenas os métodos estáticos. 
d) todas as variáveis e métodos, exceto os públicos e os que foram 
sobrescritos. 
e) todas as variáveis de instância e os métodos, entretanto, podem 
explicitamente sobrescrever alguns destes componentes. 
Professor Marcelo Pacote - @professorpacote 92 
W W W. D OMI NAND OTI .COM.B R 
Exercício [5] (TRE-SP/2012/FCC/Analista) (1/2) 
No contexto de programação orientada a objetos, considere as 
afirmativas abaixo. 
 
I. Objetos são instâncias de classes. 
II. Herança é uma relação entre objetos. 
III. Mensagens são formas de executar métodos. 
IV. Classes são apenas agrupamentos de métodos. 
V. Ocorre herança múltipla quando mais de um método é 
herdado. 
VI. Herança é uma relação entre classes. 
 
 
 
Professor Marcelo Pacote - @professorpacote 93 
W W W. D OMI NAND OTI .COM.B R 
Exercício [5] (TRE-SP/2012/FCC/Analista) (2/2) 
Está correto o que se afirma APENAS em 
a) I, III e IV 
b) I, III e VI 
c) III, IV e VI. 
d) II, III e V. 
e) II, IV e V. 
Professor Marcelo Pacote - @professorpacote 94 
W W W. D OMI NAND OTI .COM.B R 
Exercício [6] (TRE-CE/2012/FCC/Analista) 
Sobre orientação a objetos, é INCORRETO afirmar: 
a) os conceitos de generalização e especialização da orientação a objetos estão 
diretamente associados ao conceito de herança. 
b) um objeto pode existir mesmo que não exista nenhum evento a ele 
associado. 
c) um construtor visa inicializar os atributos e pode ser executado 
automaticamente sempre que um novo objeto é criado. 
d) polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma 
mesma superclasse podem invocar métodos que têm a mesma assinatura e 
mesmo comportamento. 
e) uma classe define o comportamento dos objetos através de seus métodos, e 
quais estados ele é capaz de manter através de seus atributos. 
Professor Marcelo Pacote - @professorpacote 95 
W W W. D OMI NAND OTI .COM.B R 
Exercício [07] (TRE-PI/2009/FCC) (1/2) - adaptada 
Em relação à programação orientada a objetos, considere: 
I. A afirmação de que o estado de um objeto não deve ser acessado 
diretamente, mas sim por meio de métodos de acesso, está 
associada ao conceito de encapsulamento. 
II. A classe é constituída por atributos que representam os dados e 
operações que representam os métodos que podem ser 
executados. 
III. Herança pode ser compreendida como a propriedade que uma 
classe tem em legar seus elementos constituintes à sua subclasse. 
 
 
 
Professor Marcelo Pacote - @professorpacote 96 
W W W. D OMI NAND OTI .COM.B R 
Exercício [07] (TRE-PI/2009/FCC) (2/2) - adaptada 
Está correto o que se afirma em 
a) I, II, III 
b) I e II apenas. 
c) I e III apenas. 
d) II e III, apenas. 
e) III apenas. 
 
 
 
Professor Marcelo Pacote - @professorpacote 97 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (TRF-4/2010/FCC) (1/2) 
Sobre a orientação a objetos, é correto afirmar: 
a) Variáveis e métodos de classe pública (public) existem e 
podem ser utilizados, mesmo se nenhum objeto dessa classe 
tiver sido instanciado. 
b) Os modificadores de acesso public, private e protected 
controlam o acesso apenas aos métodos de uma classe. 
c) É possível criar vários construtores sobrecarregados em uma 
classe para permitir que objetos dessa classe sejam 
inicializados de diferentes maneiras. 
 
 
Professor Marcelo Pacote - @professorpacote 98 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (TRF-4/2010/FCC) (2/2) 
d) Um construtor invocado sem argumentos inicializa o objeto, 
mas causa um erro em tempo de execução, pois todo 
construtor de classe deve receber pelo menos um parâmetro. 
e) Ao implementar um método de uma classe, devem ser 
utilizados os métodos set e get da classe para acessar apenas 
os dados públicos (public) da classe. 
 
Professor Marcelo Pacote - @professorpacote 99 
W W W. D OMI NAND OTI .COM.B R 
Exercício [09] (TRT-3/2009/FCC) 
Na programação orientada a objeto, 
a) um construtor serve para inicializar os atributos e é executado 
automaticamente sempre que ocorre a criação de um novo objeto. 
b) atributos são classes que se encontram dentro de cada um dos objetos 
restritos a determinados tipos. 
c) encapsulamento consiste na aglutinação de aspectos internos e externos 
de um objeto. 
d) métodos são variáveis que se encontram dentro de cada um dos objetos de 
uma classe. 
e) classe abstrata é uma classe que representa uma coleção de 
características presentes num mesmo tipo de objeto, mas que também pode 
existir isoladamente. 
 
Professor Marcelo Pacote - @professorpacote 100 
W W W. D OMI NAND OTI .COM.B R 
Exercício [10] (TRT-24/2011/FCC) (1/2) 
Em relação à orientação a objetos, considere: 
Um dos mecanismos fundamentais na programação orientada a 
objetos é o conceito de redefinição, que ocorre quando um 
método, cuja assinatura já tenha sido especificada, recebe uma 
nova definição em uma classe derivada. 
A linguagem de programação orientada a objetos deve suportar 
o conceito de ligação tardia (late binding), visto que a definição 
do método que é candidato a ser efetivamente invocado só 
ocorre durante a execução do programa. 
Professor Marcelo Pacote - @professorpacote 101 
W W W. D OMI NAND OTI .COM.B R 
Exercício [10] (TRT-24/2011/FCC) (2/2) 
O mecanismo de redefinição, juntamente com o conceito de 
ligação tardia, é a chave para a utilização adequada de 
a) polimorfismo. 
b) objeto de classes derivadas. 
c) restrições de acesso. 
d) polimorfismo e herança. 
e) dois métodos de uma mesma classe. 
Professor Marcelo Pacote - @professorpacote 102 
W W W. D OMI NAND OTI .COM.B R 
Exercício [11] (TRE-CE/2012/FCC) 
O método soma representa um exemplo de 
a) sobrescrita de métodos. 
b) herança de parâmetros. 
c) recursividade. 
d) encapsulamento. 
e) sobrecarga de métodos. 
Professor Marcelo Pacote - @professorpacote 103 
W W W. D OMI NAND OTI .COM.B R 
Exercício [12] (TRE-CE/2012/FCC) 
Com relação a herança na programação orientada a objetos com Java, é 
INCORRETO afirmar: 
a) Uma subclasse herda os métodos da superclasse, entretanto, pode ter 
seus próprios métodos. 
b) Quando se instancia um objeto da subclasse, podem ser passados valores 
para os atributos da superclasse. 
c) Um objeto da subclasse pode ser um objeto dasuperclasse. 
d) Em uma superclasse, para acessar métodos da subclasse deve ser usada 
a instrução super. 
e) Para definir que a subclasse herda as características da superclasse 
utiliza-se a instrução extends na declaração da subclasse. 
Professor Marcelo Pacote - @professorpacote 104 
W W W. D OMI NAND OTI .COM.B R 
Gabarito 
[01] a 
[02] c 
[03] a 
[04] e 
[05] b 
[06] d 
[07] a 
[08] c 
[09] a 
[10] a 
 
 
[11] e 
[12] d 
Professor Marcelo Pacote - @professorpacote 105 
W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR 
 
Anexo IV 
Exercícios Complementares 
CESPE,FGV e outras bancas 
 
Professor Marcelo Pacote – @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Exercício [01] (DETRAN-ES/2010/CESPE) 
A respeito da orientação a objetos e das respectivas linguagens 
de programação, julgue o item: 
( ) De acordo com a programação orientada a objetos, por meio 
da qual o objeto é dividido em métodos e propriedades, ocorre 
polimorfismo em situações em que apenas os aspectos 
externos do objeto são visíveis, o que possibilita que as 
alterações na implementação do programa mantenham a 
característica física do objeto, sem alterar sua forma e 
interface. 
 
Professor Marcelo Pacote - @professorpacote 107 
W W W. D OMI NAND OTI .COM.B R 
Exercício [02] (EBC/2011/CESPE) 
( ) A herança representa uma generalização, dessa forma, por 
meio de herança é feito o compartilhamento de atributos e 
operações entre classes, com base em um relacionamento 
hierárquico. 
Professor Marcelo Pacote - @professorpacote 108 
W W W. D OMI NAND OTI .COM.B R 
Exercício [03] (PGDF/2011/IADES) 
Dentro do paradigma de programação orientada a objetos (POO), há 
um mecanismo utilizado para impedir o acesso direto ao estado de 
um objeto, restando apenas os métodos externos que podem alterar 
estes estados. Assinale a alternativa que apresenta o nome deste 
mecanismo. 
a) Mensagem 
b) Herança 
c) Polimorfismo 
d) Encapsulamento 
e) Subclasse 
Professor Marcelo Pacote - @professorpacote 109 
W W W. D OMI NAND OTI .COM.B R 
Exercício [04] (ANAC/2009/CESPE) 
( ) Na programação orientada a objetos, o conceito de herança 
pode ser utilizado mediante a criação de subclasses a partir de 
classes anteriormente criadas. Em Java, as subclasses herdam 
as variáveis de instância e os métodos de instância da 
superclasse, podendo ter acesso a todos os membros private e 
protected da referida superclasse. 
 
Professor Marcelo Pacote - @professorpacote 110 
W W W. D OMI NAND OTI .COM.B R 
Exercício [05] (MEC/2009/FGV/Desenvolvedor) (1/2) 
A respeito da linguagem Java, é incorreto afirmar que: 
a) O modificador final, quando utilizado na assinatura de uma 
classe, indica que ela é uma classe que não pode ser estendida. 
b) O modificador abstract, quando utilizado na assinatura de uma 
classe, indica que ela é uma classe que não pode ser instanciada. 
c) Quando se utiliza o modificador private em um membro de uma 
classe, significa que esse membro se torna visível apenas para os 
outros membros da própria classe. 
Professor Marcelo Pacote - @professorpacote 111 
W W W. D OMI NAND OTI .COM.B R 
Exercício [05] (MEC/2009/FGV/Desenvolvedor) (2/2) 
d) Em um sistema desenvolvido em Java, cada arquivo do 
sistema operacional de código fonte só pode ter uma única 
classe e essa classe tem que ter o mesmo nome do arquivo. 
e) Quando se utiliza o modificador protected em um membro de 
uma classe, significa que esse membro se torna visível para as 
subclasses e para as classes que pertençam ao mesmo pacote. 
Professor Marcelo Pacote - @professorpacote 112 
W W W. D OMI NAND OTI .COM.B R 
Exercício [06] (TJ-ES/2011/CESPE) 
( ) Na programação orientada a objetos, o encapsulamento 
representa a ação em que diversas implementações de uma 
operação utilizam vários tipos de parâmetros diferentes. 
Professor Marcelo Pacote - @professorpacote 113 
W W W. D OMI NAND OTI .COM.B R 
Exercício [07] (MPE-PI/2012/CESPE) 
( ) Em Java, qualquer método de uma classe pode ser 
sobrescrito por métodos de outra classe. 
Professor Marcelo Pacote - @professorpacote 114 
W W W. D OMI NAND OTI .COM.B R 
Exercício [08] (INPI/2013/Cespe/Desv/79) 
( ) Ao se utilizar o encapsulamento, não é necessário saber 
como ele funciona internamente, apenas como transmite os 
seus atributos. 
115 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(Unipampa/2013/Cespe/79) 
( ) A programação orientada a objetos introduziu no 
desenvolvimento de sistemas a criação de módulos de 
programas para a reutilização de código. 
116 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(TRT-10/2013/Cespe/An. Jud./65) - adaptada 
( ) O trecho de código mostrado abaixo é um exemplo de 
encapsulamento. 
public class Animal { 
 public String nome; 
 public String tipo; 
 public String corDoPelo; 
} 
public class Cavalo extends Animal { 
 public String raca; 
} 
117 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(PF/2013/Cespe/Perito/69) 
( ) Coesão e acoplamento são dois critérios úteis para se 
analisar a qualidade da interface pública de uma classe. A 
interface pública será considerada coesa se todos os seus 
recursos estiverem relacionados ao conceito que a classe 
representa, enquanto, no acoplamento, uma classe é 
dependente de outra. 
118 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(INPI/2013/Cespe/Desv./78) 
No que se refere à programação orientada a objetos, julgue os 
itens que se seguem. 
Em uma operação de sobrecarga, uma classe derivada pode 
redefinir operações de sua classe base. 
119 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(INPI/2013/Cespe/Desv./80) 
Com relação à linguagem Java, julgue os próximos itens. 
Uma classe pode acessar atributos de uma superclasse mesmo 
quando eles são declarados como private. 
120 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(TCE-ES/2012/Cespe/Auditor/124) 
Julgue o item abaixo, relativo a polimorfismo, um dos conceitos 
relacionados à orientação a objetos. 
( ) A implementação de polimorfismo envolve o mecanismo de 
redefinição de métodos, assim como o conceito de ligação 
tardia. 
121 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(TRE-RJ/2012/Cespe/Téc. judiciário/60) 
Considerando conceitos e aplicações do paradigma de 
orientação a objetos, julgue os próximos itens. 
As heranças, que são princípios de orientação a objetos, 
permitem o compartilhamento de atributos e métodos pelas 
classes e são usadas com o intuito de se reaproveitar código ou 
comportamento generalizado ou especializar operações ou 
atributos. 
122 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(TRE-RJ/2012/Cespe/Téc. judiciário/61) 
Cada classe pode ter implementações de operação — ou 
métodos — com denominações únicas. Classes diferentes 
podem ter métodos com denominações iguais, porém, uma 
classe não pode ter métodos com denominações iguais e 
parâmetros diferentes. 
123 Professor Marcelo Pacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
(TRE-RJ/2012/Cespe/Téc. judiciário/62) 
Polimorfismo consiste em focalizar nos aspectos essenciais 
inerentes a uma entidade e ignorar propriedades acidentais ou 
menos importantes. No desenvolvimento de sistemas, isso 
significa concentrar-se no que um objeto é e no que ele faz 
antes de se decidir como esse objeto será implementado. 
124 Professor MarceloPacote - @professorpacote 
W W W. D OMI NAND OTI .COM.B R 
Gabarito 
[01] errado 
[02] certo 
[03] d 
[04] errado 
[05] d 
[06] errado 
[07] errado 
[08] certo 
(Unipampa/2013/Cespe/79) errado 
(TRT-10/2013/Cespe/An. Jud./65) 
errado 
 
 
Professor Marcelo Pacote - @professorpacote 125 
(PF/2013/Cespe/Perito/69) certo 
(INPI/2013/Desv./78) errado 
(INPI/2013/Desv./80) errado 
(TCE-ES/2012/Auditor/124) certo 
(TRE-RJ/2012/Téc. Judiciário/60) certo 
(TRE-RJ/2012/Téc. Judiciário/61) errado 
(TRE-RJ/2012/Téc. Judiciário/62) errado

Continue navegando