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 6 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 6 páginas

Prévia do material em texto

22/06/2022 14:48 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6525100/7e699452-01b5-11ec-b283-0242ac11000a/ 1/6
Local: Sala 1 - Sala de Aula / Andar / Polo Duque de Caxias / POLO DUQUE DE CAXIAS - RJ 
Acadêmico: EAD-IL10328-20213A
Aluno: NATÁLIA MORAES DA SILVA MORAES DA SILVA 
Avaliação: A2-
Matrícula: 20202301087 
Data: 16 de Setembro de 2021 - 08:00 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 8,50/10,00
1  Código: 37084 - Enunciado: O conhecimento das técnicas de desenvolvimento de sistemas
baseadas no paradigma de programação orientado a objetos é fundamental para o
desenvolvimento de sistemas complexos, facilitando a divisão de tarefas em partes mais simples
e fáceis de desenvolver. Sobre programação orientada a objetos, analise as afirmativas a seguir:I.
A sobrecarga de operadores é um conceito que só ocorre quando utilizamos um mesmo operador
para realizar diferentes tarefas em uma mesma linguagem de programação. II. A sobrecarga de
métodos é obtida ao se criar mais de um método com o mesmo nome em uma mesma classe ou
classes diferentes e, para isso, é importante que esses métodos possuam as mesmas assinaturas
de métodos.III. Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da
sobrecarga de métodos. 
Identifique a(s) afirmativa(s) correta(s):
 a) II.
 b) I e III.
 c) III.
 d) I.
 e) II e III.
Alternativa marcada:
b) I e III.
Justificativa: Resposta correta: I e III.A sobrecarga de operadores é um conceito que só ocorre
quando utilizamos um mesmo operador para realizar diferentes tarefas em uma mesma
linguagem de programação. Verdadeira. Uma vez que o conceito de sobrecarga de operadores
está ligado quando em uma linguagem de programação, utilizamos um mesmo operador para
realizar diferentes tarefas.A sobrecarga de métodos é obtida ao se criar mais de um método com
o mesmo nome em uma mesma classe ou classes diferentes e, para isso, é importante que esses
métodos possuam as mesmas assinaturas de métodos. Verdadeira. Ressaltando que, como os
construtores também são métodos, e em ambos os casos os parâmetros são verificados não de
acordo com o identificador, mas sim pela sequência dos tipos (assinatura). 
Distrator:Métodos construtores podem ser sobrecarregados e seguem as mesmas regras da
sobrecarga de métodos. Falsa. Para que haja a sobrecarga de métodos, é necessário que sejam
criados métodos com mesmo nome e na mesma classe ou em classes diferentes, mas com
assinaturas de métodos diferentes.
0,50/ 0,50
2  Código: 36611 - Enunciado: Considere a classe a seguir:class IMC { String nome; double
peso, altura;}Sabe-se que métodos construtores são usados para controlar a criação
(instanciação) do objeto e só executam neste momento e que podem ser sobrecarregados. Sendo
assim, qual é a quantidade máxima de métodos construtores que podemos criar para a classe
IMC?
 a) 5.
 b) 4.
 c) 7.
 d) 8.
 e) 6.
0,50/ 0,50
22/06/2022 14:48 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6525100/7e699452-01b5-11ec-b283-0242ac11000a/ 2/6
Alternativa marcada:
d) 8.
Justificativa: Resposta correta: 8.Métodos construtores podem ser sobrecarregados e seguem a
mesma regra da sobrecarga de métodos, os parâmetros são verificados não de acordo com o
identificador, mas sim pela sequência dos tipos (Assinatura). Sendo assim, podemos criar os
seguintes métodos construtores, totalizando 8 métodos construtores:public IMC() { }public
IMC(String) { }public IMC(double) { }public IMC(String, double) { }public IMC(double, String) {
 }public IMC(String, double, double) { }public IMC(double, String, double) { }public IMC(double,
double, String) { }
3  Código: 36633 - Enunciado: "A interface é muito utilizada em grandes projetos para obrigar o
programador a seguir o padrão do projeto, por esta tratar-se de um contrato em que é obrigado a
implementar seus métodos, ele deverá sempre seguir o padrão de implementação da interface."
(Disponível em: https://www.devmedia.com.br/java-interface-aprenda-a-usar-
corretamente/28798. Acesso em: 26 out. 2019.) 
Em relação aos conceitos de interfaces Java, analise as seguintes afirmativas:I. Uma interface é
uma classe totalmente abstrata e seus métodos devem ser abstract e private.II. Em uma interface
os seus atributos devem ser static e final.III. Uma classe é restrita a implementar uma única
interface. 
Identifique a(s) afirmativa(s) correta(s):
 a) III.
 b) I.
 c) II.
 d) I e III.
 e) I e II.
Alternativa marcada:
c) II.
Justificativa: Resposta correta: II.Em uma interface os seus atributos devem ser static e final.
Verdadeiro. Em uma interface todos os atributos definidos são implicitamente static e final, não
sendo necessário que sejam formalmente modificados. 
Distratores:Uma interface é uma classe totalmente abstrata e seus métodos devem ser abstract e
private. Falsa. Numa interface, todos os métodos são implicitamente abstract e public, métodos
definidos em interfaces não podem ser private.Uma classe é restrita a implementar uma única
interface. Falsa. Uma classe pode implementar mais de uma interface, sendo permitido o uso
conjunto de múltiplas interfaces em uma mesma classe.
0,50/ 0,50
4  Código: 36640 - Enunciado: Durante o desenvolvimento de uma aplicação, notou-se a
necessidade de restringir o acesso do atributo cpf, de forma que somente suas subclasses
possam acessá-lo. A figura a seguir representa a hierarquia das classes que foram implementadas
no mesmo pacote. 
Examine as opções a seguir, determinando aquela que apresenta corretamente a definição do
membro cpf que atenda ao requisito descrito anteriormente.
 a) int cpf;
 b) protected int cpf;
 c) private int cpf;
 d) pakage int cpf;
 e) public int cpf;
1,50/ 1,50
22/06/2022 14:48 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6525100/7e699452-01b5-11ec-b283-0242ac11000a/ 3/6
Alternativa marcada:
b) protected int cpf;
Justificativa: Resposta correta: protected int cpf;.Para se definir que um atributo possa ser
acessado por subclasses da classe onde foi declarado, devemos utilizar o conceito de
Encapsulamento protected. 
Distratores:public int cpf;. Incorreta. Métodos ou atributos public são sempre acessíveis por todos
os métodos de quaisquer outras classes. É o nível menos rígido de proteção no
Encapsulamento.int cpf;. Incorreta. Omissão (pakage ou padrão). A classe, método ou atributo é
acessível somente por métodos das classes que pertencem ao mesmo pacote (pakage).pakage
int cpf;. Incorreta. O uso de pakage não é permitido na linguagem Java, a definição de
Encapsulamento por pacote não requer modificador.private int cpf;. Incorreta. Os métodos e
atributos private, são acessíveis somente por membros da própria classe.
5  Código: 36637 - Enunciado: Durante o desenvolvimento de uma aplicação na linguagem Java,
com os conceitos de programação orientada a objetos, foi implementado o método a seguir: 
public double calcularVenda(double val, double perc, int qtd) { ............. } 
Determine o uso de polimorfismo de sobrecarga de métodos que está sendo aplicado de forma
correta:
 a) public double calcular(double val, int qtd, double perc)
 b) public int calcularVenda(int qtd, double val, double perc)
 c) public double calcularVenda(double v, double p, int q)
 d) public int Venda(double val, double perc, int qtd)
 e) public double calcularVenda(double perc, double val, int qtd)
Alternativa marcada:
c) public double calcularVenda(double v, double p, int q)
Justificativa: Resposta correta: public double calcularVenda(double perc, double val, int qtd)A
sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo nome em uma
mesma classe. Para isso, é importante que esses métodos possuam diferentes assinaturas de
métodos.Esse método possui o mesmo nome do método original e possui uma assinatura
diferente. 
Distratores:public int Venda(double val, double perc, int qtd). Incorreta.Não possui o mesmo
nome do método original.public double calcular(double val, int qtd, double perc). Incorreta. Não
possui o mesmo nome do método original.public double calcularVenda(double v, double p, int
q). Incorreta. Esse método possui o mesmo nome, mas está incorreto porque tem a mesma
assinatura do método original.public double calcularVenda(double perc, double val, int qtd).
Incorreta. Esse método possui o mesmo nome, mas está incorreto porque tem a mesma
assinatura do método original.
0,00/ 1,50
6  Código: 36949 - Enunciado: Durante o desenvolvimento de uma aplicação em Java, constatou-
se a necessidade de se criar um vetor em Java para armazenar as notas dos 30 alunos da
turma. Assinale a alternativa que implementa corretamente a criação do vetor, cujo nome é
notas.
 a) double notas[30];
 b) double notas[] = new double[30];
 c) double notas;
 d) notas = new double[30];
 e) double = new notas[30];
Alternativa marcada:
1,50/ 1,50
22/06/2022 14:48 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6525100/7e699452-01b5-11ec-b283-0242ac11000a/ 4/6
b) double notas[] = new double[30];
Justificativa: Resposta correta: double notas[] = new double[30];.Para declararmos um vetor em
Java, podemos utilizar a sintaxe a seguir: <tipo> <nome>[] = new <tipo>
[<num_elementos>]; Distratores:double notas[] = {2.5, 10.0, 6.0}. Incorreta. Criou um vetor notas e
já inicializou-o com três notas.double = new notas[30];. Incorreta. Faltou o nome do vetor e o seu
tamanho é definido com o seu tipo de dados.notas = new double[30];. Incorreta. Faltou definir o
tipo de dados antes do nome do vetor.double notas;. Incorreta. Está declarando uma variável
chamada notas do tipo double.
7  Código: 36874 - Enunciado: Durante o desenvolvimento de um projeto, verificou-se a
necessidade de implementar as classes Humano, Homem e Mulher. Então, o programador
identificou que não há por que criarmos objetos Humanos e sim objetos Homens e
Mulheres.Compare as possíveis soluções apresentadas a seguir e avalie qual apresenta a correta
codificação, de forma que a classe Humano sirva para modelar objetos que possuam
características semelhantes, mas que ainda assim tenham comportamento distinto para ações
semelhantes.
 a) public abstract Humano {}public class Homem implements Humano {}public class Mulher
implements Humano {}
 b) public abstract class Humano {}public abstract Homem extends Humano {}public abstract
Mulher extends Humano {}
 c) public interface Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
 d) public class Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
 e) public abstract class Humano {}public class Homem extends Humano {}public class
Mulher extends Humano {}
Alternativa marcada:
e) public abstract class Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
Justificativa: Resposta correta:public abstract class Humano {}public class Homem extends
Humano {}public class Mulher extends Humano {} 
O conceito a ser aplicado é o de classes abstratas. Uma classe abstrata não pode ser instanciada
por meio da palavra chave new com o uso de um construtor seu. As classes Homem e Mulher
devem herdar da classe Humano, por isso foi aplicado o conceito extends. As classes Homem e
Mulher deverão implementar os métodos abstratos definidos na classe Humano. 
Distratores:public class Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {} 
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de
classes abstratas e, para isso, utilizamos o termo abstract (antes de class) na definição da classe
humano. 
public abstract class Humano {}public abstract Homem extends Humano {}public abstract Mulher
extends Humano {} 
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de
classes abstratas. As demais classes (Homem e Mulher) devem herdar da classe Humano e, sendo
assim, estas não devem ser definidas como abstract. 
public interface Humano {}public class Homem extends Humano {}public class Mulher extends
Humano {} 
Incorreta. Como a classe Humano não pode ser instanciada, é preciso aplicar o conceito de
classes abstratas, e não o conceito de interface (uma interface Java é uma classe abstrata onde
todos os seus métodos são abstract e public e seus atributos são static e final implicitamente.
Uma interface é então uma classe completamente abstrata ou classe abstrata pura). 
public abstract Humano {}public class Homem implements Humano {}public class Mulher
2,00/ 2,00
22/06/2022 14:48 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6525100/7e699452-01b5-11ec-b283-0242ac11000a/ 5/6
implements Humano {} Incorreta. Como a classe Humano não pode ser instanciada, é preciso
aplicar o conceito de classes abstratas, mas a classe Humano não possui o modificador class,
para determinar que a mesma se trata de uma classe. Já nas classes Homem e Mulher foi
aplicado o modificador de interfaces (implements), onde deveria ser aplicado o conceito de
herança.
8  Código: 36872 - Enunciado: Durante a implementação de uma classe, o programador decidiu
aplicar o conceito de polimorfismo de sobrecarga. Analise a implementação da classe a seguir
para obter as informações necessárias para a codificação correta do polimorfismo.class
PesoIdeal { String nome, situacao; int idade; double peso, altura;} 
Compare as possíveis soluções de métodos apresentadas nas alternativas e avalie qual apresenta
corretamente a implementação do conceito de polimorfismo de sobrecarga.
 a) public void cadastroParcial1(String n, int i) { }public void cadastroParcial2(int i, String n) {
}public void cadastroParcial3(String n, int i, double p) { }public void cadastroParcial4(String n, int
i, double p, double a) { }
 b) public void cadastroParcial(String n, int i) { }public void cadastroParcial(String n, double
p) { }public void cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String
n, double a, double p) { }
 c) public void cadastroParcial(double p, double a, int i) { }public void cadastroParcial(double
p, int i, double a) { }public void cadastroParcial(String n, int i, double a) { }public void
cadastroParcial(double a, int i, double p) { }
 d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) {
}public void cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i,
double p, double a) { }
 e) public void cadastroParcial1(double p, double a) { }public void cadastroParcial2(double p,
int i, double a) { }public void cadastroParcial3(String n, int i, double a) { }public void
cadastroParcial4(double a, int i, String n) { }
Alternativa marcada:
d) public void cadastroParcial(String n, int i) { }public void cadastroParcial(int i, String n) { }public
void cadastroParcial(String n, int i, double p) { }public void cadastroParcial(String n, int i, double
p, double a) { }
Justificativa: Resposta correta:public void cadastroParcial(String n, int i) { }public void
cadastroParcial(int i, String n) { }public void cadastroParcial(String n, int i, double p) { }public void
cadastroParcial(String n, int i, double p, double a) { } Assinaturas: cadastroParcial(String, int) { } 
 cadastroParcial(int, String) { } cadastroParcial(String, int, double) { } cadastroParcial(String,
int, double, double) { } 
Polimorfismo de sobrecarga de métodos é obtida ao se criar mais de um método com o mesmo
nome em uma mesma classe. Para isso, é importante que esses métodos possuam diferentes
assinaturas de métodos.Sobrecarga de métodos é obtida ao se criar mais de um método com o
mesmo nome em uma mesma classe. Para isso, é importante que esses métodos possuam
diferentes assinaturas de métodos. Distratores:public void cadastroParcial1(String n, int i) {
}public void cadastroParcial2(int i, Stringn) { }public void cadastroParcial3(String n, int i, double
p) { }public void cadastroParcial4(String n, int i, double p, double a) { } 
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(),
cadastroParcial3(), cadastroParcial4(). public void cadastroParcial(String n, int i) { }public void
cadastroParcial(String n, double p) { }public void cadastroParcial(String n, double p, double a) {
}public void cadastroParcial(String n, double a, double p) { } Assinaturas: cadastroParcial(String,
int i) { }cadastroParcial(String, double) { }cadastroParcial(String, double, double) {
}cadastroParcial(String, double, double) { } 
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O
terceiro e o quarto método possuem a mesma assinatura. public void cadastroParcial(double p,
2,00/ 2,00
22/06/2022 14:48 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6525100/7e699452-01b5-11ec-b283-0242ac11000a/ 6/6
double a, int i) { }public void cadastroParcial(double p, int i, double a) { }public void
cadastroParcial(String n, int i, double a) { }public void cadastroParcial(double a, int i, double p) { } 
Incorreta. Apesar de os métodos possuírem o mesmo nome, as assinaturas não são diferentes. O
segundo e o quarto método possuem a mesma assinatura.Assinaturas: cadastroParcial(double,
double, int) { }cadastroParcial(double, int, double) { }cadastroParcial(String, int, double) {
}cadastroParcial(double, int, double) { } public void cadastroParcial1(double p, double a) { }public
void cadastroParcial2(double p, int i, double a) { }public void cadastroParcial3(String n, int i,
double a) { }public void cadastroParcial4(double a, int i, String n) { } Assinaturas:
 cadastroParcial1(double, double) { }cadastroParcial2(double, int, double) {
}cadastroParcial3(String, int, double) { }cadastroParcial4(double, int, String) { } 
Incorreta. Os métodos não possuem o mesmo nome: cadastroParcial1(), cadastroParcial2(),
cadastroParcial3(), cadastroParcial4().

Continue navegando