Buscar

Programação Orientada a Objetos

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

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

19/04/2021 Unidade 1 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=938683&cmid=234858 1/7
Página inicial / Meus Cursos / ENIAC_20211F_782 / Materiais de Estudo / Unidade 1 - Exercícios de �xação
Iniciado em quarta, 7 abr 2021, 20:25
Estado Finalizada
Concluída em quarta, 7 abr 2021, 20:31
Tempo
empregado
5 minutos 34 segundos
Avaliar 10,00 de um máximo de 10,00(100%)
Questão 1
Correto Atingiu 1,00 de 1,00
Questão 2
Correto Atingiu 1,00 de 1,00
Sobre objetos, podemos a�rmar que:
Escolha uma:
a. Considere o seguinte código: “Cliente cli = new Cliente();” a palavra “new” é o método construtor da classe.
b. Para criarmos uma classe, é necessário seguirmos a especi�cação de um objeto.
c. Não há comunicação entre objetos dentro de um sistema orientado a objetos.
d. É uma abstração lógica.
e. Um objeto é composto por estado e comportamento. 
A resposta correta é: Um objeto é composto por estado e comportamento..
Em programação orientada a objetos, qual o papel da classe?
Escolha uma:
a. Dentro de uma classe são escritos todos comentários de uma aplicação.
b. Uma classe é, basicamente, um conjunto de planos que especi�ca como construir um pacote.
c. Classes possuem um papel irrelevante na programação orientada a objetos.
d. As classes são a fundação, na qual linguagens orientadas a objetos se estruturam. 
e. Classes são boas práticas de programação.
A resposta correta é: As classes são a fundação, na qual linguagens orientadas a objetos se estruturam..
https://portalacademico.eniac.edu.br/
https://portalacademico.eniac.edu.br/course/view.php?id=9361
https://portalacademico.eniac.edu.br/course/view.php?id=9361#section-1
https://portalacademico.eniac.edu.br/mod/quiz/view.php?id=234858
https://atendimento.eniac.edu.br/
19/04/2021 Unidade 1 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=938683&cmid=234858 2/7
Questão 3
Correto Atingiu 1,00 de 1,00
Questão 4
Correto Atingiu 1,00 de 1,00
São implementados para realizarem algum tipo de tarefa:
Escolha uma:
a. Atributos.
b. Objetos.
c. Classes.
d. Métodos. 
e. Comentários.
A resposta correta é: Métodos..
Em relação aos métodos estáticos ou de classes, marque a a�rmativa correta.
Escolha uma:
a. Por serem estáticos, os métodos não podem ser chamados em outras classes.
b. Métodos estáticos são declarados colocando-se a palavra-chave static antes do tipo de retorno. 
c. Métodos estáticos servem apenas para operações de inserção de dados.
d. Métodos estáticos não são membros de classes.
e. Métodos são variáveis que tem a capacidade de receber uma quantidade maior de informação.
A resposta correta é: Métodos estáticos são declarados colocando-se a palavra-chave static antes do tipo de retorno..
19/04/2021 Unidade 1 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=938683&cmid=234858 3/7
Questão 5
Correto Atingiu 1,00 de 1,00
Marque a a�rmativa correta.
Escolha uma:
a. Se um método estático tentar acessar um outro método não estático da classe usando somente o nome do método, ocorrerá
um erro de compilação.

b. A referência this pode ser usada em métodos estáticos.
c. As variáveis e os métodos de classe estáticos existem apenas quando um objeto dessa classe tenha sido instanciado.
d. Para fazermos a chamada de um método estático, é necessário apenas colocar o nome do método seguido de parênteses.
e. Métodos e variáveis estáticas são associados a um objeto.
A resposta correta é: Se um método estático tentar acessar um outro método não estático da classe usando somente o nome do
método, ocorrerá um erro de compilação..
19/04/2021 Unidade 1 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=938683&cmid=234858 4/7
Questão 6
Correto Atingiu 1,00 de 1,00
Analise o seguinte código:
 
public class Veiculo {
private String placa;
private String cor;
 
private int anoFabricacao;
 
public String getPlaca() {
 
return placa;
 
}
 
public void setPlaca(String placa) {
this.placa = placa;
 
}
 
public String getCor() {
 
return cor;
 
}
 
public void setCor(String cor) {
 
this.cor = cor;
 
}
 
public int getAnoFabricacao() {
 
return anoFabricacao;
19/04/2021 Unidade 1 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=938683&cmid=234858 5/7
Questão 7
Correto Atingiu 1,00 de 1,00
 
}
 
public void setAnoFabricacao(int anoFabricacao) {
 
this.anoFabricacao = anoFabricacao;
 
}
 
}
 
Escolha uma:
a. As variáveis de instância da classe veículo poderão ser visualizadas por qualquer outra classe da aplicação.
b. O código está incorreto, pois métodos e variáveis de instância não são elementos de uma classe.
c. A classe Veiculo tem quatro variáveis de instância.
d. A palavra void é necessária para criação de todos os métodos.
e. As palavras-chave this em this.cor, this.placa e this.anoFrabricacao informam ao método que estamos nos referindo à variável
de instância.

A resposta correta é: As palavras-chave this em this.cor, this.placa e this.anoFrabricacao informam ao método que estamos nos
referindo à variável de instância..
A declaração de uma variável de classe começa com qual palavra-chave ?
Escolha uma:
a. public.
b. static. 
c. private.
d. void.
e. class.
A resposta correta é: static..
19/04/2021 Unidade 1 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=938683&cmid=234858 6/7
Questão 8
Correto Atingiu 1,00 de 1,00
Questão 9
Correto Atingiu 1,00 de 1,00
Para um método de classe acessar membros de classe não estáticos, devemos:
Escolha uma:
a. Colocarmos a palavra-chave protected no membro a ser acessado.
b. Colocar a palavra-chave static no membro a ser acessado.
c. Devemos declarar o método usando o get na frente do seu nome.
d. Um método estático não pode acessar membros de classe não estáticos. 
e. Devemos declarar o método usando o set na frente do seu nome.
A resposta correta é: Um método estático não pode acessar membros de classe não estáticos..
Marque a alternativa correta.
Escolha uma:
a. Uma variável estática não muda seu valor.
b. Uma variável estática representa informações em nível de classe. 
c. Se vários objetos precisam acessar uma determinada variável em comum, a medida que transformamos esta variável em
estática, estamos desperdiçando espaço na memória.
d. Todo objeto tem sua própria cópia de todas as variáveis estáticas da classe.
e. Usamos variáveis de classe quando apenas um objeto da classe precisa utilizar uma cópia desta variável.
A resposta correta é: Uma variável estática representa informações em nível de classe..
19/04/2021 Unidade 1 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=938683&cmid=234858 7/7
Questão 10
Correto Atingiu 1,00 de 1,00
Em relação à forma geral de uma classe, podemos a�rmar:
Escolha uma:
a. Uma classe é criada com a palavra-chave class. 
b. Podemos usar palavras reservadas de uma linguagem de programação para nomearmos classes.
c. Uma classe é criada com o uso da palavra-chave public.
d. Os parênteses são caracteres que delimitam o bloco da classe.
e. É impossível usar comentários dentro de uma classe.
A resposta correta é: Uma classe é criada com a palavra-chave class..
◄ Assunto 02 - Atributos e métodos de classe
Seguir para...
Assunto 03 - Encapsulamento e modificadores de acesso ►
https://portalacademico.eniac.edu.br/mod/lti/view.php?id=234857&forceview=1
https://portalacademico.eniac.edu.br/mod/lti/view.php?id=234860&forceview=1
Professor
Antonio Benedito Coimbra Sampaio Jr
Primeira
Disciplina
JAVA 8 - Fundamentos Teóricos e Orientação a Objetos
•UNIDADE 1: Introdução à Tecnologia Java 
•UNIDADE 2: Introdução à Sintaxe Java 
•UNIDADE 3: ProgramaçãoOrientada a Objetos em Java (Parte I) 
•UNIDADE 4: Programação Orientada a Objetos em Java (Parte II) 
2
UNIDADE 4
PROGRAMAÇÃO 
ORIENTADA A OBJETOS 
EM JAVA (PARTE II)
3
Encapsulamento e os 
Modificadores de Acesso
4
“Pilares” da Orientação a Objetos
5
• São três os “pilares” da Orientação a Objetos:
• ENCAPSULAMENTO
• HERANÇA 
• POLIMORFISMO
• O Encapsulamento serve para controlar o acesso aos atributos e 
métodos de um classe, tendo por objetivo criar um software mais
flexível, fácil de modificar e de criar novas implementações.
• A Herança permite a criação de novas classes (subclasses) com as 
mesmas características (atributos) e os mesmos comportamentos
(métodos) de uma classe já existente (superclasse).
• O Polimorfismo é o princípio pelo qual um objeto pode ser 
referenciado de várias formas. 
Encapsulamento
6
• O encapsulamento permite a visualização de uma entidade de 
software (neste caso, uma classe) como uma caixa preta. Neste 
caso, sabe-se o que a classe faz, sem ter acesso ao seu 
comportamento interno, possibilitando esconder os detalhes da 
implementação realizada.
© Roseclea Medina
Encapsulamento
7
• O acesso às funcionalidades dessas classes é feito via troca de 
mensagens, isto é, a chamada aos seus métodos.
• O encapsulamento é fundamental para garantir que as mudanças em 
uma determinada classe, não afete o funcionamento das outras 
classes que se relacionam com ela, visto que as regras de negócios 
ficam definidas em apenas um único lugar.
• Simplifica o acesso a um determinado objeto, expondo apenas a sua 
interface essencial.
• Por definição, os atributos de uma classe devem ser de acesso 
restrito, e os seus métodos devem ser de acesso público.
Modificadores de Acesso
8
• Os tipos de acesso aos atributos e métodos de uma classe são
definidos pelo uso adequado dos seus Modificadores de Acesso.
• No Java são quatro os Modificadores de Acesso:
• PUBLIC (+)
• PRIVATE (-)
• PACKAGE (~)
• PROTECTED (#)
Modificadores de Acesso
9
PUBLIC (+)
• Acessível na própria classe, nas subclasses, nas classes do mesmo pacote 
e por todas as outras classes.
• Resumindo: é acessível por todo mundo!
• Deve ser utilizado preferencialmente para construtores e métodos que fazem 
parte da interface do objeto.
• Evite usar em construtores, métodos de uso restrito e campos de dados de 
objetos.
PRIVATE (-)
• Acessível apenas na própria classe!
• Use para métodos que não fazem parte da interface do objeto e para 
campos de dados de objetos.
Public x Private
10
© Tiago Eugenio
Exemplo
11
class Pessoa {
private String nome; private int idade;
public String obs;
Pessoa (String nome, int idade) {
this.nome = nome;
}
public void imprimeNome() {
System.out.println(“Nome: ” + nome);
}
}
...
Pessoa p1 = new Pessoa(“Joao”,10);
p1.nome = “Raul”;//ERRO DE COMPILAÇÃO!
p1.obs = “bom garoto”; //OK!
p1.imprimeNome(); //Nome: Joao
Modificadores de Acesso
12
PROTECTED (#)
• Acessível na própria classe, nas subclasses e nas classes do mesmo 
pacote.
• Use para métodos que devem ser sobrepostos. 
• Evite usar em métodos com restrição à sobreposição e em campos de 
dados de objetos.
PACKAGE (~)
• Acessível na própria classe, nas subclasses e nas classes do mesmo 
pacote.
• Se não houver outro modificador de acesso, o acesso é desse tipo.
• Use para construtores e métodos que só devem ser chamados pelas classes 
e subclasses do pacote.
• Evite usar em campos de dados de objetos.
Modificadores de Acesso 
- Resumo
13
Métodos Getters e Setters
14
• Para permitir o acesso aos atributos restritos (private) de uma forma 
controlada, utilizam-se dois métodos: o primeiro para recuperar o valor do 
atributo (get) e o segundo para atribuir o valor do atributo (set).
• A convenção para esses métodos é de colocar a palavra get ou set antes do 
nome do atributo. 
• É importante ressaltar que é uma má prática criar uma classe e, logo em 
seguida, criar getters e setters para todos seus atributos. Métodos getters e 
setters só se houver real necessidade.
Java Bean
15
• Quando se cria uma classe com todos os seus atributos privados, todos os 
seus métodos get e set e um construtor vazio (padrão), na verdade está se 
construindo um componente Java (Java Bean).
• Um Java Bean não é um EJB (Enterprise Java Beans - tecnologia de objetos
distribuídos em Java).
Exercícios
16
• 1) Transforme as classes (Cliente, Locacao e Carro) do sistema de 
informação que gerencie o aluguel (sisalucar) de uma frota de carros em 
Java Beans. Faça as correções necessárias na classe SisalucarApp.
• 2) Transforme a classe Conta em um Java Bean. Implemente todos os seus 
três métodos, considerando a seguinte Regra de Negócio: 
• RN01 – Só é possível sacar até saldo+limite.
• 3) Responda se era necessário criar todos os métodos get e set da classe 
Conta.
Reuso
17
Reuso
18
• O Reuso é inerente ao processo de solução de problemas utilizado pelos 
seres humanos.
• Na medida em que soluções são encontradas, estas são utilizadas em 
problemas similares.
• Reutilização de software é o processo de criação de sistemas de software a 
partir de software existente ao invés de construí-los a partir do zero.
• Para entregar software de qualidade em menos tempo, é preciso reutilizar.
• O Reuso veio para agilizar o processo de desenvolvimento de software, 
aumentando a sua confiabilidade e diminuindo o seu custo, de uma forma 
simples e contemplando as boas práticas de engenharia de software.
Reuso
19
• Reuso é uma das principais vantagens anunciadas pela Orientação a 
Objetos.
• São 04 as suas principais formas de reuso:
© Helder da Rocha
Reuso - Composição
20
• Criação de uma nova classe usando classes existentes como atributos.
import java.util.*;
class Trem
{
Locomotiva locomotiva = new Locomotiva();
Collection<Vagao> vagao = new ArrayList<Vagao>();
...
}
Reuso - Agregação
21
• Criação de uma nova classe usando classes existentes como atributos.
import java.util.*;
class Locomotiva
{
Collection<Farol> farol = new ArrayList<Farol>();
...
}
Reuso - Associação
22
• Criação de uma nova classe fazendo uso de outras usando classes 
(acoplamento menor).
class Trem
{
EstradaDeFerro estrada = new EstradaDeFerro();
...
}
Exercícios
23
• 1) Utilize a técnica de Reuso mais adequada para representar o 
relacionamento das classes Conta e Cliente.
• 2) Qual é a alteração de código necessária para refletir a imagem abaixo:
Reuso - Herança
24
• Criação de novas classes estendendo classes existentes. O relacionamento 
“é um [subtipo de]”.
class Veiculo
{ ... }
class Carro extends Veiculo
{ ... }
Reuso - Herança
25
• Herança é um mecanismo que permite a uma classe herdar todos os 
métodos e os atributos de outra classe.
• Uma classe que herda de outra classe é chamada subclasse e a classe que 
fornece a herança é chamada superclasse.
Classe A
Classe B
Classe EClasse DClasse C
• A classe A é a superclasse de B.
• A classe B é uma subclasse de A.
• A classe B é a superclasse de C, D e E.
• As classes C, D e E são subclasses de B.
Reuso - Herança
26
• As superclasses definem atributos e métodos genéricos que serão herdados 
pelas classes derivadas.
• Um método herdado de uma superclasse pode ser redefinido pela classe 
derivada, mantendo o mesmo nome mas agindo de forma diferente.
• Normalmente, os atributos de um
19/04/2021 Unidade 2 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=959893&cmid=234862 1/8
Página inicial / Meus Cursos / ENIAC_20211F_782 / Materiais de Estudo / Unidade 2 - Exercícios de �xação
Iniciado em quarta, 14 abr 2021, 12:37
Estado Finalizada
Concluída em quarta, 14 abr 2021, 12:39
Tempo
empregado
2 minutos 15 segundos
Avaliar 10,00 de um máximo de 10,00(100%)
Questão 1
Correto Atingiu 1,00 de 1,00
Questão 2
Correto Atingiu 1,00 de 1,00
Membros declarados com esse modi�cador de acesso são acessíveis em subclasses da classe, em
subclasses do mesmo pacote e na própria classe:
Escolha uma:
a. Protected. 
b. Public.
c. Package.
d. Private.
e. Static.
Em relação ao encapsulamento, marquea a�rmativa INCORRETA:
Escolha uma:
a. Encapsular é organizar os programas em coleções de códigos e dados logicamente relacionados.
b. Existe outro tipo de encapsulamento, necessário para construir grandes programas, o encapsulamento de nomeação.
c. Encapsular é deixar os métodos inacessíveis para os usuários da classe. 
d. Encapsular é deixar disponível para o usuário apenas o que lhe interessa, sem a necessidade de expor detalhes do código.
e. Encapsulamentos são colocados em bibliotecas e disponibilizados para reuso em programas além daqueles para os quais eles
foram escritos.
https://portalacademico.eniac.edu.br/
https://portalacademico.eniac.edu.br/course/view.php?id=9361
https://portalacademico.eniac.edu.br/course/view.php?id=9361#section-1
https://portalacademico.eniac.edu.br/mod/quiz/view.php?id=234862
https://atendimento.eniac.edu.br/
19/04/2021 Unidade 2 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=959893&cmid=234862 2/8
Questão 3
Correto Atingiu 1,00 de 1,00
Analise o seguinte código e aponte a a�rmativa INCORRETA:
 
public class Aluno {
private String nome;
protected String Sobrenome;
public int matricula;
public String email;
 
 public String getNome() {
     return nome;
}
 public void setNome(String nome) {
     this.nome = nome;
}
 public String getSobrenome() {
     return Sobrenome;
}
 public void setSobrenome(String Sobrenome) {
     this.Sobrenome = Sobrenome;
}
 public int getMatricula() {
     return matricula;
}
 public void setMatricula(int matricula) {
    this.matricula = matricula;
}
 public String getEmail() {
    return email;
}
 public void setEmail(String email) {
     this.email = email;
 }
}
 
19/04/2021 Unidade 2 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=959893&cmid=234862 3/8
Questão 4
Correto Atingiu 1,00 de 1,00
Escolha uma:
a. Todos os atributos desta classe poderão ser acessados apenas por seus respectivos métodos. 
b. Ao instanciarmos esta classe através de uma classe de controle, quando chamarmos os membros através da variável de
referência, apenas o atributo nome não estará visível.
c. Toda classe que possui atributos privados não obriga que cada atributo tenha o método que fará acesso ao mesmo.
d. É recomendado que todos atributos da classe aluno sejam implementados com o modi�cador de acesso private.
e. Os métodos cujo nome é precedido da palavra get são métodos de retorno.
Analise o seguinte código de uma classe em java:
 
public class Agua extends Bebida {
 
private String ph;
 
public String getPh(){ return ph;
}
public void setPh(String ph){
this.ph=ph;
}
}
 
Escolha uma:
a. A palavra-chave "extends" informa que a classe "Agua” é uma extensão da classe "Bebida". 
b. A classe "Agua", quando instanciada, terá acesso apenas ao atributo ph, através dos métodos set e get.
c. Não é necessária a criação de métodos de acesso como get e set, pois a classe possui apenas um atributo.
d. A classe não poderá ser instanciada, pois é necessário que os métodos de acesso da superclasse estejam implementados na
subclasse
e. O código é inválido pois não possui um método main().
19/04/2021 Unidade 2 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=959893&cmid=234862 4/8
Questão 5
Correto Atingiu 1,00 de 1,00
Questão 6
Correto Atingiu 1,00 de 1,00
Questão 7
Correto Atingiu 1,00 de 1,00
Na orientação a objetos temos um importante conceito, que é a herança. Marque a alternativa que
melhor de�ne herança em orientação a objetos:
Escolha uma:
a. Quando há a necessidade de utilizar uma classe que está em outro pacote, fazemos uso da palavra-chave herança.
b. A herança é um mecanismo para aprimorar as classes existentes. 
c. Herança refere-se ao comportamento dos objetos.
d. Dizemos que há herança quando duas ou mais classes dependem uma da outra.
e. Quando o valor de um atributo pode ser compartilhado entre vários objetos.
Quando identi�camos a possibilidade de usar herança em nosso projeto?
Escolha uma:
a. Quando temos uma relação e um ou vários atributos em comum entre duas ou mais classes. 
b. Quando necessitamos aumentar a produtividade no desenvolvimento.
c. Quando classes possuem muitos atributos.
d. Quando temos a necessidade de reduzir código.
e. Quando existe relação entre classes.
Para encapsular um atributo, deixando-o visível apenas para a classe que o contém, utilizamos qual
palavra-chave?
Escolha uma:
a. Private. 
b. Static.
c. Void.
d. Public.
e. Não é necessário informar modi�cador de acesso.
19/04/2021 Unidade 2 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=959893&cmid=234862 5/8
Questão 8
Correto Atingiu 1,00 de 1,00
Analise o código abaixo:
 
public class Animal {
private int idAnimal;
private String nome;
private int idade;
 
public String getNome(){
 
return nome;
}
public void setNome(String nome){
 
this.nome = nome;
}
 
public int getIdade(){
 
return idade;
}
public void setIdade(int idade){
 
this.idade = idade;
}
 
}
 
=================== // ============================
 
public class Mamifero extends Animal{
 
private String gestacao;
private String especVida;
 
19/04/2021 Unidade 2 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=959893&cmid=234862 6/8
public String getGestacao(){
 
return gestacao;
}
public void setGestacao(String gestacao){
 
this.gestacao = gestacao;
}
 
public String getEspecVida(){
 
return especVida;
}
public void setEspecVida(String especVida){
 
this.especVida = especVida;
}
 
}
 
=============================//==========================
 
public class Cachorro Mamifero{
 
private String raca;
 
public String getRaca(){
 
return raca;
}
public void setRaca(String raca){
 
this.raca = raca;
}
 
}
 
19/04/2021 Unidade 2 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=959893&cmid=234862 7/8
Questão 9
Correto Atingiu 1,00 de 1,00
============================//============================
 
public class Homem extends Mamifero{
 
private String etnia; public String getEtnia(){
 
return etnia;
}
public void setEtnia(String etnia){
 
this.etnia = etnia;
}
 
}
 
Escolha uma:
a. A classe "Animal" é subclasse de "Mamifero".
b. Na estrutura implementada podemos a�rmar que a classe "Homem" é subclasse; a classe "Mamifero" é subclasse e
superclasse e a classe "Animal" é superclasse.

c. Por se tratar de herança, a classe "Homem" poderá herdar apenas membros da classe "Mamifero".
d. A classe "Cachorro" está estendendo de "Mamifero".
e. A sintaxe da classe "Homem" está incorreta.
Em relação à herança podemos a�rmar que:
Escolha uma:
a. A herança acontece quando, no desenvolvimento, temos a possibilidade de reuso de componentes.
b. Em herança possuímos classes genéricas e especializadas. 
c. Classes especializadas são aquelas especí�cas de um determinado domínio.
AULA 1 – INTRODUÇÃO A CLASSES, OBJETOS E MÉTODOS 
 
1. Em programação orientada a objetos, qual o papel da classe? 
(B) As classes são a fundação, na qual linguagens orientadas a objetos se estruturam. 
resposta é a correta? A linguagem orientada a objetos se estruturam a partir das classes. 
 
2. Em relação à forma geral de uma classe, podemos afirmar: 
(C) Uma classe é criada com a palavra-chave class. 
resposta é a correta? Para criarmos uma classe, é necessário colocarmos a palavra-chave class antes do seu nome. 
Exemplo: class Cliente. 
 
3. Sobreobjetos, podemos afirmar que: 
(B) Um objeto é composto por estado e comportamento. 
resposta é a correta? Um objeto é composto por estado e comportamento. O estado é representado por atributos e seus 
valores, e o comportamento é os métodos. 
 
4. Analise o seguinte código: 
 public class Veiculo { 
 private String placa; 
 private String cor; 
 private int anoFabricacao; 
 public String getPlaca() { 
 return placa; 
 } 
 
 public void setPlaca(String placa) { 
 this.placa = placa; 
 } 
 
 public String getCor() { 
 return cor; 
 } 
 
 public void setCor(String cor) { 
 this.cor = cor; 
 } 
 
 public int getAnoFabricacao() { 
 return anoFabricacao; 
 } 
 
 public void setAnoFabricacao(int anoFabricacao) { 
 
 this.anoFabricacao = anoFabricacao; 
 } 
 } 
 
(B) As palavras-chave this em this.cor, this.placa e this.anoFrabricacao informam ao método que estamos nos referindo à 
variável de instância. 
resposta é a correta? Para diferenciarmos, na implementação do método, qual variável é de instância, necessitamos 
colocar a palavra this com um ponto, na frente do nome da variável. 
 
5. São implementados para realizarem algum tipo de tarefa: 
(D) Métodos. 
resposta é a correta? Métodos são pedaços de códigos, escritos para realizarem alguma ação ou tarefa. 
 
 
 
 
AULA 1 – PROJETANDO CLASSES 
 
1. Em orientação a objetos, como devemos começar as atividades de programação? 
(D) Identificando objetos e as classes às quais eles pertencem. 
resposta é a correta? O que há de concreto na programação orientada a objetos são os próprios objetos, pois eles 
possuem estados (atributos com valores) e comportamentos (métodos); identificando os objetos, podemos verificar 
características semelhantes e classificá-los em classes. 
 
 
2. Marque a afirmativa correta: 
(C) Se você não pode afirmar, a partir do nome da classe, o que um objeto da classe supostamente deve fazer, 
provavelmente você não está no caminho certo. 
resposta é a correta? Imagine que temos uma classe com o nome “Cadastro”; poderíamos definir o que os objetos desta 
classe fariam? Agora, temos uma classe chamada “Cliente”; bom, esta trata da criação de objetos Cliente. Com isso, 
podemos concluir que a definição de um nome para a classe é aspecto fundamental para a criação da mesma. 
 
3. Referente a coesão e acoplamento, podemos afirmar que: 
(C) Quando a interface pública de uma classe referencia vários conceitos, é um bom sinal de que pode ser hora de utilizar 
classes separadas. 
resposta é a correta? As constantes e os métodos públicos que a interface pública expõe devem ser coesos. 
 
4. O que é um pacote? 
(E) É um conjunto de classes relacionadas. 
resposta é a correta? Pacotes servem para organizar classes relacionadas. 
 
5. Analise o código abaixo: 
 
/* 
package media; 
public class calcularMedia { 
 
private double nota1; 
private double nota2; 
private double media; 
private int matricula; 
private String nome; 
 
public void calcularMedia(double nota1, double nota2){ 
this.nota1 = nota1; 
this.nota2 = nota2; 
media = (nota1 + nota2)/2; 
} 
 
public void cadastrarAluno(int cod, String matricula){ 
this.cod=cod; 
this.matricula = matricula; 
} 
 
} 
*/ 
 
É correto afirmar que: 
(D) Esta classe não apresenta coesão. 
resposta é a correta? Podemos observar que a classe não está definida para um único conceito, pois a mesma representa 
o cálculo de média e possui um recurso, o método “cadastrarAluno”, que não está ligado ao conceito da mesma. 
 
 
 
 
AULA 2 – ATRIBUTOS E MÉTODOS DE CLASSE 
 
1. Marque a alternativa correta. 
(A) Uma variável estática representa informações em nível de classe. 
resposta é a correta? A variável de classe ou estática fica disponível para toda classe, com isso, todos os objetos da classe 
compartilham os mesmos dados. 
 
2. A declaração de uma variável de classe começa com qual palavra-chave ? 
(E) static. 
resposta é a correta? A declaração de uma variável estática ou de classe começa com a palavra-chave static. Exemplo: 
static int numero. 
 
3. Em relação aos métodos estáticos ou de classes, marque a afirmativa correta. 
(E) Métodos estáticos são declarados colocando-se a palavra-chave static antes do tipo de retorno. 
resposta é a correta? A palavra-chave static é colocada antes do tipo de retorno do método. Exemplo: public static void 
main(String [] args){...} 
 
4. Para um método de classe acessar membros de classe não estáticos, devemos: 
(C) Um método estático não pode acessar membros de classe não estáticos. 
resposta é a correta? Para o método estático poder acessar um outro membro da classe, o mesmo deve ser estático. 
 
5. Marque a afirmativa correta. 
(C) Se um método estático tentar acessar um outro método não estático da classe usando somente o nome do método, 
ocorrerá um erro de compilação. 
resposta é a correta? Métodos estáticos acessam apenas membros estáticos da classe. 
 
 
 
 
AULA 2 – ENCAPSULAMENTO E MODIFICADORES DE ACESSO 
 
1. Em relação ao encapsulamento, marque a afirmativa INCORRETA: 
(D) Encapsular é deixar os métodos inacessíveis para os usuários da classe. 
resposta é a correta? Encapsular é transformar os objetos da aplicação em caixas-pretas e deixar que o usuário desta 
classe tenha acesso apenas aos métodos que permitem acessar informação e fornecer dados para as operações 
necessárias. 
 
2. Para encapsular um atributo, deixando-o visível apenas para a classe que o contém, utilizamos qual palavra-
chave? 
(E) Private 
resposta é a correta? Para encapsularmos um atributo, utilizamos a palavra-chave private; com isso, o mesmo ficará visível 
apenas para classe da qual ele é membro. 
 
3. A unidade básica de encapsulamento, em Java, é: 
(C) Classe 
resposta é a correta? Uma classe especifica tanto dados, como códigos que operam sobre eles e os mesmos podem ser 
encapsulados. Portanto, classe é a unidade básica do encapsulamento. 
 
4. Membros declarados com esse modificador de acesso são acessíveis em subclasses da classe, em subclasses 
do mesmo pacote e na própria classe: 
(A) Protected 
resposta é a correta? Membros declarados como protected são acessíveis em subclasses da classe, em subclasses do 
mesmo pacote e na própria classe. 
 
5. Analise o seguinte código e aponte a afirmativa INCORRETA: 
 
public class Aluno { 
private String nome; 
protected String Sobrenome; 
public int matricula; 
public String email; 
 
public String getNome() { 
 return nome; 
} 
 public void setNome(String nome) { 
 this.nome = nome; 
} 
 public String getSobrenome() { 
 return Sobrenome; 
} 
 public void setSobrenome(String Sobrenome) { 
 this.Sobrenome = Sobrenome; 
} 
public int getMatricula() { 
 return matricula; 
} 
 public void setMatricula(int matricula) { 
 this.matricula = matricula; 
} 
 public String getEmail() { 
 return email; 
} 
 public void setEmail(String email) { 
 this.email = email; 
 } 
} 
 
(A) Todos os atributos desta classe poderão ser acessados apenas por seus respectivos métodos. 
resposta é a correta? Os atributos matricula e email poderão ser acessados diretamente, pois sua visibilidade é pública. 
 
 
 
 
 
AULA 3 – INTRODUÇÃO À HERANÇA 
 
1. Na orientação a objetos temos um importante conceito, que é a herança. Marque a alternativa que melhor define 
herança em orientação a objetos: 
(E) A herança é um mecanismo para aprimorar as classes existentes. 
resposta é a correta?
Análise e desenvolvimento de sistemas – Herança Java
Na orientação a objetos temos um importante conceito, que é a herança. Marque a alternativa que melhor define herança em orientação a objetos:
A. 
Herança refere-se ao comportamento dos objetos.
Por que esta resposta não é correta?
O comportamento dos objetos é definido por métodos.
B. 
Quando o valor de um atributo pode ser compartilhado entre vários objetos.
Por que esta resposta não é correta?
Um atributo cujos vários objetos podem compartilhar seu valor na mesma classe é um atributo de classe.
C. 
Quando há a necessidade de utilizar uma classe que está em outro pacote, fazemos uso da palavra-chave herança.
Porque esta resposta não é correta?
Para utilizar classes de pacote diferentes, é necessário utilizar a palavra-chave import mais o caminho da classe seguido do seu nome.
D. 
Dizemos que há herança quando duas ou mais classes dependem uma da outra.
Por que esta resposta não é correta?
A dependência entre classes é chamada de acoplamento.
Resposta correta
E. 
A herança é um mecanismo para aprimorar as classes existentes.
Por que esta resposta é a correta?
Com uma estrutura de herança, outras classes podem usar métodos e atributos de uma classe genérica.
Quando identificamos a possibilidade de usar herança em nosso projeto?
A. 
Quando temos a necessidade de reduzir código.
Por que esta resposta não é correta?
Reduzir código é uma prática interessante, entretanto, apenas esta justificativa não concretiza o uso de herança.
B. 
Quando existe relação entre classes.
Por que esta resposta não é correta?
É uma observação interessante, todavia, nem todas as relações podem se transformar em herança.
C. 
Quando necessitamos aumentar a produtividade no desenvolvimento.
Por que esta resposta não é correta?
Devemos sempre aplicar técnicas e ferramentas para alavancar a produtividade no desenvolvimento, contudo, apenas este argumento pode ser insuficiente para que possamos construir uma estrutura de herança.
Você acertou!
D. 
Quando temos uma relação e um ou vários atributos em comum entre duas ou mais classes.
Por que esta resposta é a correta?
Esta realmente é uma boa forma de identificar a possibilidade de criar uma estrutura de herança em nossos projetos.
E. 
Quando classes possuem muitos atributos.
Por que esta resposta não é correta?
O fato de a classe possuir muitos atributos pode ser inevitável em muitos casos, mas isso não significa que teremos a possibilidade de criar uma estrutura de herança.
Em relação à herança podemos afirmar que:
A. 
Classes especializadas são aquelas específicas de um determinado domínio.
Por que esta resposta não é correta?
Todas as classes são específicas para o domínio no qual foram criadas.
B. 
Em uma estrutura de herança, todas as classes necessitam possuir o método main().
Por que esta resposta não é correta?
O método main é necessário para executar aplicações.
C. 
A herança acontece quando, no desenvolvimento, temos a possibilidade de reuso de componentes.
Por que esta resposta não é correta?
Essa prática chama-se reutilização de componentes.
Resposta correta
D. 
Em herança possuímos classes genéricas e especializadas.
Por que esta resposta é a correta?
Também conhecidas como superclasses e subclasses, respectivamente, elas formam a estrutura de herança.
E. 
Métodos não podem ser herdados por subclasses.
Por que esta resposta não é correta?
As subclasses podem herdar qualquer membro da superclasse, desde que os mesmos estejam visíveis às mesmas.
Analise o seguinte código de uma classe em java:
public class Agua extends Bebida {
private String ph;
public String getPh(){ return ph;
}
public void setPh(String ph){
this.ph=ph;
}
}
A. 
O código é inválido pois não possui um método main().
Por que esta resposta não é correta?
O método main(), é importante para que possamos executar uma aplicação. No entanto, algumas classes são construídas na condição de modelos para criação de objetos.
B. 
Não é necessária a criação de métodos de acesso como get e set, pois a classe possui apenas um atributo.
Por que esta resposta não é correta?
O número de atributos não define a utilização de métodos de acesso.
Você acertou!
C. 
A palavra-chave "extends" informa que a classe "Agua” é uma extensão da classe "Bebida".
Por que esta resposta é a correta?
Para implementarmos uma subclasse é necessário colocar o nome da subclasse seguido da palavra extends e em seguida o nome da superclasse.
D. 
A classe "Agua", quando instanciada, terá acesso apenas ao atributo ph, através dos métodos set e get.
Por que esta resposta não é correta?
Além do acesso ao atributo ph, após instanciarmos a classe Agua, será fornecido acesso a todos os membros de interface pública da classe Bebida.
E. 
A classe não poderá ser instanciada, pois é necessário que os métodos de acesso da superclasse estejam implementados na subclasse
Por que esta resposta não é correta?
Quando criamos uma estrutura de herança, estamos fazendo um reaproveitamento de código, com isso, as subclasses, podem usar os métodos de acesso escritos na superclasse.
Analise o código abaixo:
public class Animal {
private int idAnimal;
private String nome;
private int idade;
public String getNome(){
return nome;
}
public void setNome(String nome){
this.nome = nome;
}
public int getIdade(){
return idade;
}
public void setIdade(int idade){
this.idade = idade;
}
}
=================== // ============================
public class Mamifero extends Animal{
private String gestacao;
private String especVida;
public String getGestacao(){
return gestacao;
}
public void setGestacao(String gestacao){
this.gestacao = gestacao;
}
public String getEspecVida(){
return especVida;
}
public void setEspecVida(String especVida){
this.especVida = especVida;
}
}
=============================//==========================
public class Cachorro Mamifero{
private String raca;
public String getRaca(){
return raca;
}
public void setRaca(String raca){
this.raca = raca;
}
}
============================//============================
public class Homem extends Mamifero{
private String etnia; public String getEtnia(){
return etnia;
}
public void setEtnia(String etnia){
this.etnia = etnia;
}
}
A. 
A classe "Animal" é subclasse de "Mamifero".
Por que esta resposta não é correta?
A herança possui hierarquia e, com isso, fazemos a leitura de cima para baixo; portanto, a classe "Animal" é superclasse ou mãe de "Mamifero".
B. 
A classe "Cachorro" está estendendo de "Mamifero".
Por que esta resposta não é correta?
A classe "Cachorro" possui um erro de sintaxe, pois a mesma não informa a palavra-chave extends.
C. 
A sintaxe da classe "Homem" está incorreta.
Por que esta resposta não é correta?
A classe "Homem" é uma classe modelo e sua sintaxe está correta.
Você não acertou!
D. 
Por se tratar de herança, a classe "Homem" poderá herdar apenas membros da classe "Mamifero".
Por que esta resposta não é correta?
A classe "Homem" herdará membros da classe "Mamífero" e "Animal".
Resposta correta
E. 
Na estrutura implementada podemos afirmar que a classe "Homem" é subclasse; a classe "Mamifero" é subclasse e superclasse e a classe "Animal" é superclasse.
Por que esta resposta é a correta?
A classe "Mamifero" assume o papel de subclasse de "Animal" e superclasse de "Homem".
1. 
Em uma estrutura de herança, para instanciarmos uma classe-filha, utilizamos qual construtor?
B. 
O construtor da subclasse.
2. 
Em relação a construtores, marque a afirmativa incorreta.
E. 
Construtores não podem ter argumentos.
3. 
A forma geral de uma declaração class que herda uma superclasse é:
A. 
class nome-subclasse extends nome-superclasse { //corpo da classe }
4. 
Quando tanto a superclasse quanto a subclasse definem construtores, o processo é um pouco mais complicado, porque os dois construtores devem ser executados. Nesse caso, devemos usar outra das palavras-chave do Java. Marque a alternativa que apresente a palavra-chave a ser usada nesta situação.
E. 
super.
5. 
Marque a alternativa incorreta.
E. 
A única forma de usar super é a seguinte: super().
19/04/2021 Unidade 3 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977537&cmid=234866 1/4
Página inicial / Meus Cursos / ENIAC_20211F_782 / Materiais de Estudo / Unidade 3 - Exercícios de �xação
Iniciado em segunda, 19 abr 2021, 20:35
Estado Finalizada
Concluída em segunda, 19 abr 2021, 20:46
Tempo
empregado
11 minutos 1 segundo
Avaliar 10,00 de um máximo de 10,00(100%)
Questão 1
Correto Atingiu 1,00 de 1,00
Questão 2
Correto Atingiu 1,00 de 1,00
Emclasses abstratas, temos um padrão no qual uma área de conhecimento particular de uma classe
exige que outra pessoa providencie uma parte que está faltando. Como esse padrão é conhecido?
Escolha uma:
a. Subclasses.
b. Modi�cador de acesso.
c. Sobrescrita.
d. Passagem de parâmetros.
e. Método gabarito. 
Marque a alternativa incorreta.
Escolha uma:
a. super deve ser sempre a primeira instrução executada dentro de um construtor de subclasse.
b. Há uma segunda forma de super que age um pouco como this, exceto por referenciar sempre a superclasse da subclasse em que
é usada. Essa aplicação tem a forma geral a seguir: super.membro.
c. A única forma de usar super é a seguinte: super(). 
d. Quando uma classe chama super(), está chamando o construtor de sua superclasse imediatamente.
e. super sempre referencia a superclasse imediatamente acima da classe chamadora.
https://portalacademico.eniac.edu.br/
https://portalacademico.eniac.edu.br/course/view.php?id=9361
https://portalacademico.eniac.edu.br/course/view.php?id=9361#section-1
https://portalacademico.eniac.edu.br/mod/quiz/view.php?id=234866
https://atendimento.eniac.edu.br/
19/04/2021 Unidade 3 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977537&cmid=234866 2/4
Questão 3
Correto Atingiu 1,00 de 1,00
Questão 4
Correto Atingiu 1,00 de 1,00
Questão 5
Correto Atingiu 1,00 de 1,00
Em relação a classes abstratas, marque a alternativa incorreta.
Escolha uma:
a. Classes abstratas fornecem a implementação de um ou mais métodos. 
b. O oposto de abstrato é concreto.
c. Cada método não implementado na classe abstrata é marcado com abstract.
d. Quando possuem métodos abstratos, devem ser declaradas abstratas.
e. Não se pode criar objetos de uma classe abstrata.
Marque a alternativa que melhor de�ne classes abstratas.
Escolha uma:
a. Classes abstratas são aquelas que não possuem métodos.
b. Classes abstratas são classes que apenas de�nem como os objetos serão criados.
c. Classes abstratas auxiliam quando algum comportamento é de�nido para a maioria ou todos os objetos de um dado tipo. 
d. Classes abstratas são classes que de�nem seus atributos como privados.
e. Classes abstratas são conhecidas como interfaces.
Em relação à herança em orientação a objetos, marque a alternativa incorreta.
Escolha uma:
a. Quando uma subclasse herda um método abstrato da superclasse, o mesmo não deve ser implementado. 
b. Uma classe genérica é aquela que possui membros que são comuns entre duas ou mais classes.
c. O conceito de herança refere-se a classes que herdam membros de outras classes.
d. Um dos indicativos para criar herança é quando possuímos atributos semelhantes entre duas ou mais classes.
e. Subclasses também são conhecidas como classes �lhas e estas podem herdar métodos das superclasses.
19/04/2021 Unidade 3 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977537&cmid=234866 3/4
Questão 6
Correto Atingiu 1,00 de 1,00
Questão 7
Correto Atingiu 1,00 de 1,00
Questão 8
Correto Atingiu 1,00 de 1,00
Em relação a construtores, marque a a�rmativa incorreta.
Escolha uma:
a. Ao nomearmos um construtor, devemos colocar o mesmo nome da classe a que pertence.
b. Toda classe em java possui, no mínimo, um construtor.
c. O construtor não possui tipo de retorno.
d. Os modi�cadores de acesso do construtor podem ser: public, private e protected.
e. Construtores não podem ter argumentos. 
A forma geral de uma declaração class que herda uma superclasse é:
Escolha uma:
a. class nome-superclasse extends nome-subclasse{ //corpo da classe }
b. class nome-subclasse extends nome-superclasse { //corpo da classe } 
c. class nome-subclasse nome-superclasse { //corpo da classe }
d. class nome-subclasse extends nome-superclasse ( //corpo da classe )
e. nome-subclasse extends nome-superclasse { //corpo da classe }
Em uma estrutura de herança, para instanciarmos uma classe-�lha, utilizamos qual construtor?
Escolha uma:
a. Nenhum, pois estamos trabalhando com estrutura de herança.
b. Ambos os construtores.
c. O construtor da superclasse.
d. Apenas o construtor padrão.
e. O construtor da subclasse. 
19/04/2021 Unidade 3 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977537&cmid=234866 4/4
Questão 9
Correto Atingiu 1,00 de 1,00
Questão 10
Correto Atingiu 1,00 de 1,00
Marque a alternativa que de�ne métodos abstratos.
Escolha uma:
a. São métodos sem implementação. 
b. Métodos abstratos são aqueles escritos com a palavra private.
c. São métodos que não podem ser implementados por outras classes.
d. São métodos que não podem ser usados em outras classes.
e. São métodos que não podem receber valores por parâmetros.
Quando tanto a superclasse quanto a subclasse de�nem construtores, o processo é um pouco mais
complicado, porque os dois construtores devem ser executados. Nesse caso, devemos usar outra das
palavras-chave do Java. Marque a alternativa que apresente a palavra-chave a ser usada nesta situação.
Escolha uma:
a. this.
b. extends.
c. super. 
d. protected.
e. O nome da classe.
◄ Assunto 06 - Classes abstratas
Seguir para...
Assunto 07 - Interfaces ►
https://portalacademico.eniac.edu.br/mod/lti/view.php?id=234865&forceview=1
https://portalacademico.eniac.edu.br/mod/lti/view.php?id=234868&forceview=1
Avaliação On-Line 4 (AOL 4) - Questionário
 
	Usuário
	Paulo Jose Batista Ely
	Curso
	13968 . 7 - Programação Orientada a Objetos - 20192.A
	Teste
	Avaliação On-Line 4 (AOL 4) - Questionário
	Iniciado
	17/09/19 14:59
	Enviado
	17/09/19 15:21
	Status
	Completada
	Resultado da tentativa
	10 em 10 pontos  
	Tempo decorrido
	22 minutos
	Instruções
	Atenção! Você terá 1 opção de envio. Você pode salvar e retornar quantas vezes desejar, pois a tentativa só será contabilizada quando você decidir acionar o botão ENVIAR.
Após o envio da atividade, você poderá conferir sua nota e o feedback, acessando o menu lateral esquerdo (Notas).
IMPORTANTE: verifique suas respostas antes do envio desta atividade.
	Resultados exibidos
	Todas as respostas, Respostas enviadas, Respostas corretas, Perguntas respondidas incorretamente
Pergunta 1
1 em 1 pontos
	
	
	
	Com relação a classes abstratas e herança podemos afirmar:
	
	
	
	
		Resposta Selecionada:
	a. 
Em Java, uma classe pode implementar diversas interfaces.
	Respostas:
	a. 
Em Java, uma classe pode implementar diversas interfaces.
	
	b. 
 Em Java, uma classe pode herdar de mais de uma classe.
	
	c. 
 Em Java, uma interface já vem com seu código implementado.
	
	d. 
Em Java, uma classe não pode herdar de uma classe abstrata.
	
	e. 
Em Java, uma classe abstrata só pode haver métodos abstratos.
	
	
	
Pergunta 2
1 em 1 pontos
	
	
	
	 Em Java, a palavra-chave que restringe o acesso a um método ou atributo apenas à própria classe é:
	
	
	
	
		Resposta Selecionada:
	d. 
Private.
	Respostas:
	a. 
Hidden.
	
	b. 
Secret.
	
	c. 
Inner.
	
	d. 
Private.
	
	e. 
Protected.
	
	
	
Pergunta 3
1 em 1 pontos
	
	
	
	 Marque a alternativa ERRADA:
	
	
	
	
		Resposta Selecionada:
	b. 
A abstração permite a separação da parte visível de um objeto (implementação) dos detalhes de seu funcionamento interno (interface).
	Respostas:
	a. 
Uma das vantagens do encapsulamento é a divisão de responsabilidades.
	
	b. 
A abstração permite a separação da parte visível de um objeto (implementação) dos detalhes de seu funcionamento interno (interface).
	
	c. 
O Encapsulamento tem como meta controlar o acesso as informações do estado interno do objeto.
	
	d. 
O encapsulamento permite a separação da interface de um objeto dos detalhes de seu funcionamento interno.
	
	e. 
Herança é o mecanismo que nos permite definir uma nova classe em função de outra pré-existente.
	
	
	
Pergunta 4
1 em 1 pontos
	
	
	
	 Se você é um programador e vai desenvolver um sistema orientado aobjetos em que parte da implementação será codificada por outra empresa, como você deveria declarar os métodos que precisa utilizar, mas não vai implementar?
	
	
	
	
		Resposta Selecionada:
	b. 
Abstract.
	Respostas:
	a. 
final.
	
	b. 
Abstract.
	
	c. 
 Super.
	
	d. 
Hiper.
	
	e. 
 Protected.
	
	
	
Pergunta 5
1 em 1 pontos
	
	
	
	 Um dos conceitos da orientação a objetos diz que o estado de um objeto não deve ser acessado diretamente, mas sim por intermédio de métodos de acesso (ou propriedades).
Este conceito é intitulado:
	
	
	
	
		Resposta Selecionada:
	b. 
Encapsulamento.
	Respostas:
	a. 
Polimorfismo.
	
	b. 
Encapsulamento.
	
	c. 
 Classe.
	
	d. 
Interface.
	
	e. 
Herança.
	
	
	
Pergunta 6
1 em 1 pontos
	
	
	
	 Qual das alternativas listadas abaixo é a mais adequada para definir a técnica de programação que permite a definição de classes tomando como base outra classe pré-existente?
	
	
	
	
		Resposta Selecionada:
	d. 
Herança.
	Respostas:
	a. 
 Abstração.
	
	b. 
Normalização.
	
	c. 
Nenhuma das alternativas.
	
	d. 
Herança.
	
	e. 
Encapsulamento.
	
	
	
Pergunta 7
1 em 1 pontos
	
	
	
	A utilização de gets e sets representa peça fundamental na linguagem Java. Nesse contexto podemos afirmar:
I – O uso de gets e sets permite ao programador acessar elementos de uma classe (atributos) em outras classes, uma vez que são métodos públicos.
II – O uso de gets e sets pode facilitar o controle de acesso aos atributos, verificando regras na hora de modificar os atributos.
III – Gets e sets não fazem sentido em classes que não possuem construtores.
	
	
	
	
		Resposta Selecionada:
	c. 
Somente I e II estão corretas.
	Respostas:
	a. 
Somente I está correta.
	
	b. 
 Somente II e III estão corretas.
	
	c. 
Somente I e II estão corretas.
	
	d. 
Somente I e III estão corretas.
	
	e. 
Todas estão corretas.
	
	
	
Pergunta 8
1 em 1 pontos
	
	
	
	O uso de interfaces é um poderoso instrumento para modularização de software. Sobre este conceito é possível afirmar que:
	
	
	
	
		Resposta Selecionada:
	d. 
 Uma Interface especifica um conjunto de métodos que uma classe deve implementar, mas não especifica como esses métodos devem ser implementados.
	Respostas:
	a. 
Classes abstratas também podem ser chamadas de interface.
	
	b. 
 Interfaces são usadas apenas para criar a comunicação com o usuário final.
	
	c. 
 Interfaces permitem a criação de objetos gráficos diretamente sem a necessidade de classes que realizem a definição dos mesmos.
	
	d. 
 Uma Interface especifica um conjunto de métodos que uma classe deve implementar, mas não especifica como esses métodos devem ser implementados.
	
	e. 
Interfaces devem definir o que as classes devem fazer e como elas devem fazer.
	
	
	
Pergunta 9
1 em 1 pontos
	
	
	
	[CESGRANRIO - 2012 - CMB - Assistente Técnico - Administrativo - Programador de Computador] Uma diferença entre classe e interface é que a classe...
	
	
	
	
		Resposta Selecionada:
	d. 
Declara e implementa seus métodos, enquanto a interface apenas declara.
	Respostas:
	a. 
 Pode ser implementada em uma interface, enquanto a interface não pode ser implementada em uma classe.
	
	b. 
 Pode ter um campo de dados, enquanto a interface não.
	
	c. 
É usada apenas em applets, enquanto a interface é usada apenas em aplicativos dedicados.
	
	d. 
Declara e implementa seus métodos, enquanto a interface apenas declara.
	
	e. 
É catalogada em pacotes, enquanto a interface não.
	
	
	
Pergunta 10
1 em 1 pontos
	
	
	
	 Qual das alternativas listadas abaixo é a mais adequada para definir a técnica de programação orientada a objeto que tem como objetivo eliminar toda a informação irrelevante, focando apenas no essencial ao modelar um objeto?
	
	
	
	
		Resposta Selecionada:
	d. 
 Abstração.
	Respostas:
	a. 
 Herança.
	
	b. 
Encapsulamento.
	
	c. 
Normalização.
	
	d. 
 Abstração.
	
	e. 
Modularização.
1. 
Um método pode ser sobrescrito apenas quando:
D. 
É acessível.
2. 
O que significa sobrescrever um método?
A. 
Substituir a implementação do método da superclasse.
3. 
Marque a alternativa correta.
C. 
Um método declarado como protected na superclasse pode ser declarado public na subclasse.
4. 
Analise o código abaixo e marque a afirmativa incorreta.
public class Animal{
public void locomover(){
System.out.println("Se locomove");
 }
}
public class Peixe extendas Animal {
 public void locomover(){
  System.out.println("Nada");
 }
}
D. 
Ao instanciar a classe Peixe, e através de uma variável de referência chamar o método locomover(), a saída que teremos é : Se locomove.
5. 
Em relação à herança e sobrescrita, marque a alternativa incorreta.
E. 
Uma invocação externa do método da subclasse (assumindo que ele é acessível fora de sua classe) resulta na invocação da implementação da superclasse.
que cada método na interface seja implicitamente strictfp,
porque este é um detalhe de implementação. Ver Seção 9.1.3 nas páginas 199-
200 para detalhes.
Quando diversos modificadores são aplicados à mesma interface, recomendamos usar
a ordem relacionada acima.
CAPÍTULO 4 • INTERFACES 131
4.3 Estendendo Interfaces
Interfaces podem ser estendidas usando a palavra-chave extends. Interfaces, diferente-
mente de classes, podem estender mais de uma interface:
public interface SerializableRunnable
extends java.io.Serializable, Runnable
{
//...
}
A interface SerializableRunnable estende java.io.Serializable e Runna-
ble ao mesmo tempo, o que significa que todos os métodos e constantes definidos nes-
tas interfaces agora fazem parte do contrato de SerializableRunnable, juntamen-
te com todos os novos métodos e constantes que ela define. As interfaces que são esten-
didas são as superinterfaces da nova interface e a nova interface é uma subinterface de 
suas superinterfaces.
Visto que interfaces suportam herança múltipla, o grafo de herança pode conter diversos 
caminhos para a mesma superinterface. Isto significa que constantes e métodos podem 
ser acessados por diversos caminhos. Entretanto, visto que interfaces não definem imple-
mentação de métodos e não fornecem campos de objetos, não existem dificuldades con-
cernentes a esta forma de herança múltipla.
132 A LINGUAGEM DE PROGRAMAÇÃO JAVA
Encerra aqui o trecho do livro disponibilizado para 
esta Unidade de Aprendizagem. Na Biblioteca Virtual 
da Instituição, você encontra a obra na íntegra.
 
DICA DO PROFESSOR
Assista ao vídeo a seguir e veja a implementação de uma interface.
Conteúdo interativo disponível na plataforma de ensino!
 
EXERCÍCIOS
1) Para que possamos ter um melhor entendimento do conceito de interfaces, é 
importante termos um conhecimento sobre a unidade fundamental em linguagem de 
programação orientado a objeto. Marque a afirmativa que cita esta unidade. 
A) Método.
B) Atributos.
C) Modificadores de acesso.
D) Pacote.
E) Classes.
2) Marque a afirmativa que define interface. 
A) São formulários que interagem com o usuário.
B) Interface define tipos em forma abstrata.
C) São elementos da classe.
D) Interface serve para organizar classes de uma aplicação.
E) Interfaces são classes que possuem apenas métodos e podem ser instanciadas.
3) Em uma estrutura de herança, uma classe usa membros de outra classe. Interfaces 
fornecem membros para que outras classes possam fazer uso deles. Com isso, é 
importante conhecermos o conceito de herança para podermos analisar suas 
diferenças com implementação de interfaces. Marque a alternativa que melhor define 
herança. 
A) Herança é uma estrutura que possui uma superclasse e subclasses que herdam membros 
desta superclasse.
B) Em uma estrutura de herança, as subclasses herdam apenas métodos da superclasse.
C) Ao herdar um método da superclasse, ele não poderá ser sobrescritopela superclasse.
D) Uma superclasse não pode ser instanciada.
E) Para criarmos uma estrutura de herança, devemos limitar a duas o número de subclasses.
4) Queremos criar uma interface com o nome Contrato e com o método sem retorno 
chamado entrarComTexto(). Marque a afirmativa que escreve corretamente o 
código. 
A) public class Contrato{ void entrarComTexto(String texto); }
B) public abstract class Contrato{ void entrarComTexto(String texto); }
C) public Interface class Contrato{ void entrarComTextoString texto;}
D) public interface Contrato{ void entrarComTexto(String texto); }
E) public interface Contrato{ void entrarComTexto(String texto){ text = texto; 
System.out.println(texto); } }
5) Uma classe que implementa uma interface assume a responsabilidade de executar as 
ações que a interface define. Dessa forma, para podermos obter as assinaturas dos 
métodos da interface em uma classe, considere os códigos abaixo e marque a 
afirmativa correta. A é nossa classe e B é nossa interface. 
A) public class A extends B{ }
B) public implements A class B { }
C) public class A extends C implements B { }
D) public class A implements B { }
E) public interface B { }
NA PRÁTICA
Interface é um recurso da orientação a objetos muito utilizado em Java, para obrigar as classes 
que a implementam a utilizarem seus métodos.
Podemos fazer uma analogia a um contrato de prestação de serviços:
Em Java, utilizamos interfaces como uma forma de criar heranças múltiplas, já que Java não 
permite tal estrutura. Com isso, as classes podem herdar membros de uma superclasse e 
implementar de quantas interfaces forem necessárias. O uso de interfaces em um projeto pode 
ser uma forma de obrigar o programador a usar determinados métodos nas classes. Os métodos 
de uma interface devem ser sobrescritos nas classes que as implementam.
SAIBA MAIS
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do 
professor:
Java interface: aprenda a usar corretamente.
Leia o artigo abaixo e conheça mais a respeito do uso de Interfaces em Java.
Conteúdo interativo disponível na plataforma de ensino!
Java Progressivo. Interface em Java (implements) - O que é, para que serve e como 
implementar.
No texto abaixo serão passadas informações a respeito de uma interface de Java: a implements. 
Clique abaixo para saber mais.
Conteúdo interativo disponível na plataforma de ensino!
Linha de Código. Utilizando interfaces.
Clique abaixo para saber mais a respeito de interfaces em Java.
Conteúdo interativo disponível na plataforma de ensino!
métodos concretos. 
	D
	
	Interface é utilizada quando implementações compartilham apenas a assinatura do método; classe abstrata é usada quando várias implementações do mesmo tipo compartilham um comportamento comum. 
	E
	
	Interface é utilizada quando várias implementações do mesmo tipo compartilham um comportamento comum; classe abstrata é usada quando implementações compartilham apenas a assinatura do método. 
Questão 6 : Um método abstrato tem apenas a assinatura e sua implementação e é realizado apenas em classes que implementam a classe abstrata ou a interface. Considerando as propriedades das classes abstratas, qual a saída do seguinte programa?
abstract class demo
{
public int a;
demo()
{
   a = 10;
}
abstract public void set(int a);
abstract public void get();
final abstract public void cal(int item);
}
class Test extends demo
{
Test(){}
@Override
public void set(int a)
{
         this.a = a;
}
@Override
public void get()
{
       System.out.println(a = + a);
}
int x;
@Override
public void cal(int item)
{
         x = item * item;
     }
}
class Main
{
public static void main(String args[])
{
Test obj = new Test();
obj.set(20);
obj.x = 0;
obj.cal(2);
System.out.print(obj.x);
      }
}
Resposta Errada! A resposta correta é a opção A 
Justificativa: Um método final não pode ser sobrescrito. Assim, uma função abstrata não pode ser final, pois viola as regras e causa um erro de compilação. Caso a palavra reservada final seja removida, o programa irá compilar e retornará o valor 4.
	A
	
	Erro de compilação. 
	B
	
	2. 
	C
	
	4. 
	D
	
	10. 
	E
	
	20. 
Questão 7 : Para que possamos ter um melhor entendimento do conceito de interfaces, é importante termos um conhecimento sobre a unidade fundamental em linguagem de programação orientado a objeto. Marque a afirmativa que cita esta unidade.
Resposta Errada! A resposta correta é a opção E 
Justificativa: Java é uma linguagem baseada no paradigma orientado a objeto e classes são a unidade fundamental desta linguagem.
	A
	
	Método. 
	B
	
	Atributos. 
	C
	
	Modificadores de acesso. 
	D
	
	Pacote. 
	E
	
	Classes. 
Questão 8 : Marque a afirmativa que define interface.
Resposta Errada! A resposta correta é a opção B 
Justificativa: Interface define tipos em forma abstrata como uma coleção de métodos.
	A
	
	São formulários que interagem com o usuário. 
	B
	
	Interface define tipos em forma abstrata. 
	C
	
	São elementos da classe. 
	D
	
	Interface serve para organizar classes de uma aplicação. 
	E
	
	Interfaces são classes que possuem apenas métodos e podem ser instanciadas. 
Questão 9 : Analise o código abaixo: 
public class Animal {
private int idAnimal;
private String nome;
private int idade;
public String getNome(){
return nome;
}
public void setNome(String nome){
this.nome = nome;
}
public int getIdade(){
return idade;
}
public void setIdade(int idade){
this.idade = idade;
}
}
=================== // ============================
public class Mamifero extends Animal{
private String gestacao;
private String especVida;
public String getGestacao(){
return gestacao;
}
public void setGestacao(String gestacao){
this.gestacao = gestacao;
}
public String getEspecVida(){
return especVida;
}
public void setEspecVida(String especVida){
this.especVida = especVida;
}
}
=============================//==========================
public class Cachorro Mamifero{
private String raca;
public String getRaca(){
return raca;
}
public void setRaca(String raca){
this.raca = raca;
}
}
============================//============================
public class Homem extends Mamifero{
private String etnia; public String getEtnia(){
return etnia;
}
public void setEtnia(String etnia){
this.etnia = etnia;
}
}
Resposta Errada! A resposta correta é a opção E 
Justificativa: A classe "Mamifero" assume o papel de subclasse de "Animal" e superclasse de "Homem".
	A
	
	A classe "Animal" é subclasse de "Mamifero". 
	B
	
	A classe "Cachorro" está estendendo de "Mamifero". 
	C
	
	A sintaxe da classe "Homem" está incorreta. 
	D
	
	Por se tratar de herança, a classe "Homem" poderá herdar apenas membros da classe "Mamifero". 
	E
	
	Na estrutura implementada podemos afirmar que a classe "Homem" é subclasse; a classe "Mamifero" é subclasse e superclasse e a classe "Animal" é superclasse. 
Questão 10 : Uma classe que implementa uma interface assume a responsabilidade de executar as ações que a interface define. Dessa forma, para podermos obter as assinaturas dos métodos da interface em uma classe, considere os códigos abaixo e marque a afirmativa correta. A é nossa classe e B é nossa interface.
Resposta Errada! A resposta correta é a opção D 
Justificativa: Esse código está correto, pois, além de criarmos a classe A, estamos implementando a interface B através da palavra-chave implements.
	A
	
	public class A extends B{ } 
	B
	
	public implements A class B { } 
	C
	
	public class A extends C implements B { } 
	D
	
	public class A implements B { } 
	E
	
	public interface B { } 
Questão 1 : Um dos principais conceitos da orientação a objetos é o encapsulamento de dados. O encapsulamento em Java é realizado por meio de modificadores de acesso. 
 
Assinale a alternativa que apresenta o modificador que, em uma herança, permite somente as classes filhas de acessar um atributo ​​​​​​​da classe pai.
Resposta Errada! A resposta correta é a opção B 
Justificativa: O modificador protected permiteque qualquer classe herdeira acesse os atributos da classe pai. O modificador public permite que qualquer classe tenha acesso aos atributos. O modificador default permite que apenas as classes no mesmo pacote acessem os atributos. O modificador private impede que qualquer classe tenha acesso ao atributo. Extends não é um modificador de acesso.
	A
	
	Modificador private. 
	B
	
	Modificador protected. 
	C
	
	Modificador public. 
	D
	
	Modificador default. 
	E
	
	Modificador extends. 
Questão 2 : Para que possamos ter um melhor entendimento do conceito de interfaces, é importante termos um conhecimento sobre a unidade fundamental em linguagem de programação orientado a objeto. Marque a afirmativa que cita esta unidade.
Resposta Errada! A resposta correta é a opção E 
Justificativa: Java é uma linguagem baseada no paradigma orientado a objeto e classes são a unidade fundamental desta linguagem.
	A
	
	Método. 
	B
	
	Atributos. 
	C
	
	Modificadores de acesso. 
	D
	
	Pacote. 
	E
	
	Classes. 
Questão 3 : Para declararmos uma classe que utilizará tipos genéricos, utilizamos qual sintaxe?
Resposta Errada! A resposta correta é a opção A 
Justificativa: Nesta sintaxe, estamos declarando um parâmetro de tipo genérico para a classe, geralmente com uma letra.
	A
	
	class NomeDaClasse{ //implementação. } 
	B
	
	class abstract NomeDaClasse{ //implementação. } 
	C
	
	class NomeDaClasse extends Generica{ //implementação. } 
	D
	
	class NomeDaClasse implements Generica{ //implementação. } 
	E
	
	class NomeDaClasse { //implementação. } 
Questão 4 : Marque a afirmativa correta.
Resposta Errada! A resposta correta é a opção C 
Justificativa: Métodos estáticos acessam apenas membros estáticos da classe.
	A
	
	As variáveis e os métodos de classe estáticos existem apenas quando um objeto dessa classe tenha sido instanciado. 
	B
	
	A referência this pode ser usada em métodos estáticos. 
	C
	
	Se um método estático tentar acessar um outro método não estático da classe usando somente o nome do método, ocorrerá um erro de compilação. 
	D
	
	Para fazermos a chamada de um método estático, é necessário apenas colocar o nome do método seguido de parênteses. 
	E
	
	Métodos e variáveis estáticas são associados a um objeto. 
Questão 5 : Para encapsular um atributo, deixando-o visível apenas para a classe que o contém, utilizamos qual palavra-chave?
Resposta Errada! A resposta correta é a opção E 
Justificativa: Para encapsularmos um atributo, utilizamos a palavra-chave private; com isso, o mesmo ficará visível apenas para classe da qual ele é membro.
	A
19/04/2021 Unidade 4 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977672&cmid=234870 1/5
Página inicial / Meus Cursos / ENIAC_20211F_782 / Materiais de Estudo / Unidade 4 - Exercícios de �xação
Iniciado em segunda, 19 abr 2021, 20:49
Estado Finalizada
Concluída em segunda, 19 abr 2021, 21:00
Tempo
empregado
10 minutos 27 segundos
Avaliar 10,00 de um máximo de 10,00(100%)
Questão 1
Correto Atingiu 1,00 de 1,00
Questão 2
Correto Atingiu 1,00 de 1,00
O polimor�smo é um dos quatro pilares da programação de orientação a objetos. Portanto, marque a
opção que melhor descreva o conceito de polimor�smo.
Escolha uma:
a. Quando uma classe possui métodos abstratos.
b. Quando uma classe herda membros de outra classe.
c. Quando uma subclasse usa um método da superclasse.
d. Quando cada classe implementa o mesmo método de diferentes maneiras. 
e. Quando uma classe possui um ou mais métodos sem retorno.
Qual a relação do polimor�smo com interfaces e superclasses?
Escolha uma:
a. Há polimor�smo quando uma subclasse herda membros de uma superclasse.
b. Quando uma classe herda membros de uma interface, ativa um comportamento polimór�co.
c. Quando uma classe implementa uma interface, não há necessidade de utilizar todos os seus métodos. Entretanto, para que haja
um comportamento polimór�co, é necessário implementar os métodos utilizados de acordo com sua necessidade.
d. Quando um método existente em uma interface é usado por uma classe que não altera a implementação do método, temos um
comportamento de polimor�smo.
e. Quando uma classe implementa uma interface, ela se obriga a utilizar e implementar todos os métodos da interface, com
isso, temos um comportamento polimór�co.

https://portalacademico.eniac.edu.br/
https://portalacademico.eniac.edu.br/course/view.php?id=9361
https://portalacademico.eniac.edu.br/course/view.php?id=9361#section-1
https://portalacademico.eniac.edu.br/mod/quiz/view.php?id=234870
https://atendimento.eniac.edu.br/
19/04/2021 Unidade 4 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977672&cmid=234870 2/5
Questão 3
Correto Atingiu 1,00 de 1,00
Questão 4
Correto Atingiu 1,00 de 1,00
Questão 5
Correto Atingiu 1,00 de 1,00
Em relação ao polimor�smo, marque a alternativa incorreta.
Escolha uma:
a. Novos tipos de objeto que podem responder às chamadas de método já existentes podem ser incorporados ao sistema sem
alterar o sistema básico.
b. O polimor�smo permite que programemos no geral, e não no especí�co.
c. Programar no especí�co é quando o programa determina o tipo de objeto no momento da execução.
d. Para trabalharmos com polimor�smo, podemos herdar métodos de uma superclasse ou implementarmos uma interface.
e. A técnica de polimor�smo não permite que alteremos a implementação de um método. 
Marque a a�rmativa que de�ne interface.
Escolha uma:
a. São formulários que interagem com o usuário.
b. Interfaces são classes que possuem apenas métodos e podem ser instanciadas.
c. Interface de�ne tipos em forma abstrata. 
d. Interface serve para organizar classes de uma aplicação.
e. São elementos da classe.
Uma classe que implementa uma interface assume a responsabilidade de executar as ações que a
interface de�ne. Dessa forma, para podermos obter as assinaturas dos métodos da interface em uma
classe, considere os códigos abaixo e marque a a�rmativa correta. A é nossa classe e B é nossa
interface.
Escolha uma:
a. public class A implements B { } 
b. public implements A class B { }
c. public interface B { }
d. public class A extends C implements B { }
e. public class A extends B { }
19/04/2021 Unidade 4 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977672&cmid=234870 3/5
Questão 6
Correto Atingiu 1,00 de 1,00
Questão 7
Correto Atingiu 1,00 de 1,00
Queremos criar uma interface com o nome Contrato e com o método sem retorno chamado
entrarComTexto(). Marque a a�rmativa que escreve corretamente o código.
Escolha uma:
a. public abstract class Contrato{ void entrarComTexto(String texto); } 
b. public class Contrato{ void entrarComTexto(String texto); } 
c. public Interface class Contrato{ void entrarComTextoString texto;} 
d. public interface Contrato{ void entrarComTexto(String texto); } 
e. public interface Contrato{ void entrarComTexto(String texto){ text = texto; System.out.println(texto); } } 
Para podermos entender melhor e trabalharmos com polimor�smo, é de extrema importância sabermos
alguns conceitos, como as "Interfaces". Portanto, marque a alternativa que melhor de�ne interfaces em
programação orientada a objetos.
Escolha uma:
a. Interfaces são classes que não podem ser instanciadas.
b. Interfaces possuem variáveis de instância e métodos abstratos.
c. Interfaces são classes que possuem métodos que não podem ser implementados por outras classes.
d. São classes que possuem apenas atributos.
e. Diferentemente de uma classe, um tipo de interface não fornece nenhuma implementação. 
19/04/2021 Unidade 4 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977672&cmid=234870 4/5
Questão 8
Correto Atingiu 1,00 de 1,00
Questão 9
Correto Atingiu 1,00 de 1,00
Em uma estrutura de herança, uma classe usa membros de outra classe. Interfaces fornecem membros
para que outras classes possam fazer uso deles. Com isso, é importanteconhecermos o conceito de
herança para podermos analisar suas diferenças com implementação de interfaces. Marque a alternativa
que melhor de�ne herança.
Escolha uma:
a. Herança é uma estrutura que possui uma superclasse e subclasses que herdam membros desta superclasse. 
b. Para criarmos uma estrutura de herança, devemos limitar a duas o número de subclasses.
c. Ao herdar um método da superclasse, ele não poderá ser sobrescrito pela superclasse.
d. Em uma estrutura de herança, as subclasses herdam apenas métodos da superclasse.
e. Uma superclasse não pode ser instanciada.
Analise o código abaixo e marque a alternativa correta.
 
1) public interface InterfaceTeste { public void locomover(); }
2)public class Formiga implements InterfaceTeste{ public void locomover() { System.out.println("Caminha"); }
}
3)public class Passaro implements InterfaceTeste { public void locomover() {} }
4)public class Peixe extendes InterfaceTeste { public void locomover() { System.out.println("Nada"); } }
 
Escolha uma:
a. O código 3 está escrito de forma correta.
b. O código 2 está incorreto, pois o método locomover pertence à interface "InterfaceTeste". Quando a classe "Formiga"
implementou a interface, a mesma alterou a implementação do método.
c. O código 1 refere-se à criação de uma classe abstrata.
d. Sendo o código 1 a interface, podemos concluir que nos códigos 2, 3 e 4, temos um comportamento polimór�co.
e. O código 4 está escrito de forma errada, pois, para utilizarmos uma interface, devemos colocar a palavra-chave implements,
não extends.

19/04/2021 Unidade 4 - Exercícios de fixação: avaliação da tentativa
https://portalacademico.eniac.edu.br/mod/quiz/review.php?attempt=977672&cmid=234870 5/5
Questão 10
Correto Atingiu 1,00 de 1,00
Para que possamos ter um melhor entendimento do conceito de interfaces, é importante termos um
conhecimento sobre a unidade fundamental em linguagem de programação orientado a objeto. Marque a
a�rmativa que cita esta unidade.
Escolha uma:
a. Atributos.
b. Pacote.
c. Classes. 
d. Método.
e. Modi�cadores de acesso.
◄ Assunto 08 - Introdução ao polimorfismo
Seguir para...
Modelo padrao de entrega portfólio ►
https://portalacademico.eniac.edu.br/mod/lti/view.php?id=234869&forceview=1
https://portalacademico.eniac.edu.br/mod/resource/view.php?id=234871&forceview=1
é a correta? Java é uma linguagem baseada no paradigma orientado a objeto e classes são a unidade 
fundamental desta linguagem. 
 
2. Marque a afirmativa que define interface. 
(B) Interface define tipos em forma abstrata. 
resposta é a correta? Interface define tipos em forma abstrata como uma coleção de métodos. 
 
3. Em uma estrutura de herança, uma classe usa membros de outra classe. Interfaces fornecem membros para que 
outras classes possam fazer uso deles. Com isso, é importante conhecermos o conceito de herança para 
podermos analisar suas diferenças com implementação de interfaces. Marque a alternativa que melhor define 
herança. 
(A) Herança é uma estrutura que possui uma superclasse e subclasses que herdam membros desta superclasse. 
resposta é a correta? Herança dá a possibilidade de classes aumentarem suas funcionalidades, herdando membros de 
uma superclasse. 
 
4. Queremos criar uma interface com o nome Contrato e com o método sem retorno chamado entrarComTexto(). 
Marque a afirmativa que escreve corretamente o código. 
(D) public interface Contrato{ 
 void entrarComTexto(String texto); } 
resposta é a correta? Esse código cria uma interface, pois estamos fazendo o uso da palavra-chave interface e o método 
entrarComtexto() é um método sem retorno e abstrato. 
 
5. Uma classe que implementa uma interface assume a responsabilidade de executar as ações que a interface 
define. Dessa forma, para podermos obter as assinaturas dos métodos da interface em uma classe, considere os 
códigos abaixo e marque a afirmativa correta. A é nossa classe e B é nossa interface. 
(D) public class A implements B { } 
resposta é a correta? Esse código está correto, pois, além de criarmos a classe A, estamos implementando a interface B 
através da palavra-chave implements. 
 
 
 
 
AULA 5 – INTRODUÇÃO AO POLIMORFISMO 
 
1. O polimorfismo é um dos quatro pilares da programação de orientação a objetos. Portanto, marque a opção que 
melhor descreva o conceito de polimorfismo. 
(C) Quando cada classe implementa o mesmo método de diferentes maneiras. 
resposta é a correta? Quando múltiplas classes implementam a mesma interface, cada classe implementa os métodos de 
maneira diferente. 
 
2. Para podermos entender melhor e trabalharmos com polimorfismo, é de extrema importância sabermos alguns 
conceitos, como as "Interfaces". Portanto, marque a alternativa que melhor define interfaces em programação 
orientada a objetos. 
(C) Diferentemente de uma classe, um tipo de interface não fornece nenhuma implementação. 
resposta é a correta? Todos os métodos em um tipo de interfaces são abstratos. 
 
3. Em relação ao polimorfismo, marque a alternativa incorreta. 
(D) A técnica de polimorfismo não permite que alteremos a implementação de um método. 
resposta é a correta? Polimorfismo significa muitas formas, com isso, os métodos podem assumir ações diferentes de 
acordo com a especificação da classe que está utilizando-os. Portanto, devemos alterar a implementação destes métodos. 
 
4. Qual a relação do polimorfismo com interfaces e superclasses? 
(D) Quando uma classe implementa uma interface, ela se obriga a utilizar e implementar todos os métodos da interface, 
com isso, temos um comportamento polimórfico. 
resposta é a correta? Quando uma classe implementa uma interface, é como se ela assinasse uma contrato que a obriga a 
utilizar os métodos existentes na interface. Esses métodos devem ser implementados pela classe, isto é, escritos de forma 
a atender a especificidade da classe. 
 
5. Analise o código abaixo e marque a alternativa correta. 
 
 1) public interface InterfaceTeste { 
 public void locomover(); } 
 
 2) public class Formiga implements InterfaceTeste { 
 public void locomover() { 
 System.out.println("Caminha"); } 
 } 
 
 3) public class Passaro implements InterfaceTeste { 
 public void locomover() {} 
 } 
 
 4) public class Peixe extendes InterfaceTeste { 
 public void locomover() { 
 System.out.println("Nada"); } 
 } 
 
(D) O código 4 está escrito de forma errada, pois, para utilizarmos uma interface, devemos colocar a palavra-chave 
implements, não extends. 
resposta é a correta? Para implementarmos uma interface, devemos colocar a palavra-chave interfaces antes do nome da 
interface. E para utilizarmos uma interface devemos colocar a palavra-chave implements, não extends. Assim, o código 4 
deveria trazer a palavra-chave extends. 
 
 
 
AULA 6 – SOBRECARGA EM JAVA 
 
1. Sobrecarga e polimorfismo são conceitos úteis na programação orientada a objetos. O que é sobrecarga de 
métodos? 
(E) Quando um ou mais métodos possuem o mesmo nome, mas devem possuir conjuntos de parâmetros diferentes. 
resposta é a correta? Ocorre a sobrecarga de métodos quando um ou mais métodos da mesma classe têm o mesmo nome, 
mas com um conjunto de parâmetros diferente. Quando um método é declarado com void, significa que não terá um 
retorno. Quando declaramos um tipo de dado no método, estamos informando que ele terá um retorno daquele tipo. 
Quando um método é declarado com a palavra abstract, estamos nos referindo a um método abstrato. A sobrescrita ocorre 
quando um ou mais métodos têm a mesma assinatura, mas implementações específicas de acordo com a classe a que 
pertencem. 
 
2. É comum, ao trabalharmos com métodos, utilizarmos a expressão "assinatura do método". Marque a alternativa 
que melhor explica do que se trata esta expressão. 
(D) A assinatura do método é composta por seu nome e parâmetros. 
resposta é a correta? O nome e o conjunto de parâmetros do método é sua assinatura. Quando colocamos a palavra-chave 
public na declaração do método, estamos informando que ele é público, isto é, será visível para qualquer classe

Outros materiais