Orientação Objeto Java

125
WWW.DOMINANDOTI.COM.BR WWW.DOMINANDOTI.COM.BR Orientação a Objetos com Java Professor Marcelo Pacote @professorpacote

description

Orientação Objeto JavaProgramação O.O

Transcript of Orientação Objeto Java

Page 1: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR

Orientação a Objetos com Java

Professor Marcelo Pacote – @professorpacote

Page 2: Orientação Objeto Java

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

Page 3: Orientação Objeto Java

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

Page 4: Orientação Objeto Java

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

Page 5: Orientação Objeto Java

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

Page 6: Orientação Objeto Java

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

Page 7: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Encapsulamento - visibilidade

7 Professor Marcelo Pacote - @professorpacote

Page 8: Orientação Objeto Java

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.

Page 9: Orientação Objeto Java

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

Page 10: Orientação Objeto Java

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

Page 11: Orientação Objeto Java

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

Page 12: Orientação Objeto Java

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

Page 13: Orientação Objeto Java

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

Page 14: Orientação Objeto Java

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

Page 15: Orientação Objeto Java

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

Page 16: Orientação Objeto Java

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

Page 17: Orientação Objeto Java

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

Page 18: Orientação Objeto Java

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

Page 19: Orientação Objeto Java

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ém quando 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

Page 20: Orientação Objeto Java

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

Page 21: Orientação Objeto Java

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

Page 22: Orientação Objeto Java

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

Page 23: Orientação Objeto Java

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

Page 24: Orientação Objeto Java

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

Page 25: Orientação Objeto Java

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

Page 26: Orientação Objeto Java

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

Page 27: Orientação Objeto Java

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

Page 28: Orientação Objeto Java

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

Page 29: Orientação Objeto Java

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

Page 30: Orientação Objeto Java

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

Page 31: Orientação Objeto Java

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

Page 32: Orientação Objeto Java

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

Page 33: Orientação Objeto Java

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

Page 34: Orientação Objeto Java

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

Page 35: Orientação Objeto Java

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

Page 36: Orientação Objeto Java

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 - @professorpacote

Page 37: Orientação Objeto Java

W 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

Page 38: Orientação Objeto Java

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

Page 39: Orientação Objeto Java

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

Page 40: Orientação Objeto Java

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

Page 41: Orientação Objeto Java

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

Page 42: Orientação Objeto Java

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

Page 43: Orientação Objeto Java

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

Page 44: Orientação Objeto Java

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

Page 45: Orientação Objeto Java

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

Page 46: Orientação Objeto Java

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

Page 47: Orientação Objeto Java

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

Page 48: Orientação Objeto Java

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

Page 49: Orientação Objeto Java

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

Page 50: Orientação Objeto Java

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

Page 51: Orientação Objeto Java

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

Page 52: Orientação Objeto Java

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

Page 53: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR

Anexo I

Exercícios Complementares

ESAF

Professor Marcelo Pacote – @professorpacote

Page 54: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [01] (MPU/2004/ESAF)

Na linguagem de programaçã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

Page 55: Orientação Objeto Java

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

Page 56: Orientação Objeto Java

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

Page 57: Orientação Objeto Java

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

Page 58: Orientação Objeto Java

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

Page 59: Orientação Objeto Java

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

Page 60: Orientação Objeto Java

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

Page 61: Orientação Objeto Java

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

Page 62: Orientação Objeto Java

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

Page 63: Orientação Objeto Java

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

Page 64: Orientação Objeto Java

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

Page 65: Orientação Objeto Java

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

Page 66: Orientação Objeto Java

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

Page 67: Orientação Objeto Java

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

Page 68: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR

Anexo II

Exercícios Complementares

CESGRANRIO

Professor Marcelo Pacote – @professorpacote

Page 69: Orientação Objeto Java

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 class PortaDeCofre inherits Porta {

d) public class PortaDeCofre extends Porta {

e) public class PortaDeCofre implements Porta {

Professor Marcelo Pacote - @professorpacote 69

Page 70: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [2] (PETROBRAS/2010/CESGRANRIO) (1/2)

Professor Marcelo Pacote - @professorpacote 70

Page 71: Orientação Objeto Java

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

Page 72: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [3] (PETROBRAS/2010/CESGRANRIO) (1/2)

Professor Marcelo Pacote - @professorpacote 72

Page 73: Orientação Objeto Java

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

Page 74: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [4] (PETROBRAS/2010/CESGRANRIO) (1/2)

Professor Marcelo Pacote - @professorpacote 74

Page 75: Orientação Objeto Java

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

Page 76: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [5] (PETROBRAS/2010/CESGRANRIO) (1/2)

Professor Marcelo Pacote - @professorpacote 76

Page 77: Orientação Objeto Java

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

Page 78: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [6] (PETROBRAS/2010/CESGRANRIO) (1/2)

Professor Marcelo Pacote - @professorpacote 78

Page 79: Orientação Objeto Java

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

Page 80: Orientação Objeto Java

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

Page 81: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [08] (PETR/2011/CESGRANRIO) (1/3)

Professor Marcelo Pacote - @professorpacote 81

Page 82: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R

Exercício [08] (PETR/2011/CESGRANRIO) (2/3)

Professor Marcelo Pacote - @professorpacote 82

Page 83: Orientação Objeto Java

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

Page 84: Orientação Objeto Java

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

Page 85: Orientação Objeto Java

W W W. D OMI NAND OTI .COM.B R WWW.DOMINANDOTI .COM.BR

Anexo III

Exercícios Complementares

FCC

Professor Marcelo Pacote – @professorpacote

Page 86: Orientação Objeto Java

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

Page 87: Orientação Objeto Java

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

Page 88: Orientação Objeto Java

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

Page 89: Orientação Objeto Java

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

Page 90: Orientação Objeto Java

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áveis de 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

Page 91: Orientação Objeto Java

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

Page 92: Orientação Objeto Java

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

Page 93: Orientação Objeto Java

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

Page 94: Orientação Objeto Java

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

Page 95: Orientação Objeto Java

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

Page 96: Orientação Objeto Java

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

Page 97: Orientação Objeto Java

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

Page 98: Orientação Objeto Java

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

Page 99: Orientação Objeto Java

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

Page 100: Orientação Objeto Java

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

Page 101: Orientação Objeto Java

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

Page 102: Orientação Objeto Java

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

Page 103: Orientação Objeto Java

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

Page 104: Orientação Objeto Java

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 da superclasse.

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

Page 105: Orientação Objeto Java

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

Page 106: Orientação Objeto Java

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

Page 107: Orientação Objeto Java

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

Page 108: Orientação Objeto Java

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

Page 109: Orientação Objeto Java

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

Page 110: Orientação Objeto Java

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

Page 111: Orientação Objeto Java

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

Page 112: Orientação Objeto Java

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

Page 113: Orientação Objeto Java

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

Page 114: Orientação Objeto Java

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

Page 115: Orientação Objeto Java

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

Page 116: Orientação Objeto Java

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

Page 117: Orientação Objeto Java

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

Page 118: Orientação Objeto Java

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

Page 119: Orientação Objeto Java

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

Page 120: Orientação Objeto Java

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

Page 121: Orientação Objeto Java

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

Page 122: Orientação Objeto Java

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

Page 123: Orientação Objeto Java

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

Page 124: Orientação Objeto Java

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 Marcelo Pacote - @professorpacote

Page 125: Orientação Objeto Java

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