Buscar

PROGRAMAÇÃO ORIENTADA A OBJETOS I(IL10328

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

19/04/2022 08:47 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6962111/635bad4a-1b32-11eb-b7ab-0636bf709961/ 1/6
Local: Sala 134 - Térreo - Sala de Aula / Andar / Polo Freguesia / POLO FREGUESIA/JACAREPAGUÁ - RJ 
Acadêmico: EAD-IL10328-20221A
Aluno: ANDRE LUIZ DE AZEVEDO SANT ANNA 
Avaliação: A2-
Matrícula: 20204300120 
Data: 7 de Abril de 2022 - 08:00 Finalizado
Correto Incorreto Anulada  Discursiva  Objetiva Total: 7,00/10,00
1  Código: 36610 - Enunciado: "Um identificador é um 'nome' que permite nos dirigirmos
especificamente a uma das entidades próprias da linguagem, ou seja, são os nomes que
podemos dar aos nossos/as variáveis, métodos, classes, interfaces e objetos."(Disponível em:
https://www.devmedia.com.br/introducao-a-linguagem-java/3150. Acesso em: 14 out. 2019). 
Analise os identificadores a seguir:I. nota_A1II. notaA1III. publicIV. 3notasV. $notas 
Aponte os identificadores válidos para a linguagem Java:
 a) III e IV.
 b) II e V.
 c) I, II e V.
 d) I e II.
 e) I, IV e V.
Alternativa marcada:
d) I e II.
Justificativa: Resposta correta: I, II e V.nota_A1. Correta. Os identificadores só podem começar
por: uma letra (maiúscula ou minúscula), um símbolo de: $ ou um símbolo de: _
(underscore).notaA1. Correta. Os identificadores só podem começar por: uma letra (maiúscula ou
minúscula), um símbolo de: $ ou um símbolo de: _ (underscore).$notas. Correta. Os
identificadores só podem começar por: uma letra (maiúscula ou minúscula), um símbolo de: $ ou
um símbolo de: _ (underscore). 
Distratores:public. Errada. Os identificadores não podem ser palavras reservadas da
linguagem.3notas. Errada. Os identificadores não podem começar com letras.
0,00/ 0,50
2  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.
 c) II e III.
 d) I e III.
 e) III.
Alternativa marcada:
d) I e III.
0,50/ 0,50
19/04/2022 08:47 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6962111/635bad4a-1b32-11eb-b7ab-0636bf709961/ 2/6
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.
3  Código: 36609 - Enunciado: As linguagens de programação trabalham com três diferentes
métodos de implementação, que são: compilação, interpretação pura e híbrido. Em relação à
linguagem Java, analise as afirmativas a seguir:I. O código é compilado uma vez, gerando o
bytecode, que pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente
java existente.II. O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação.III. Atualmente realiza uma compilação just-int-time (no
momento da compilação), com o intuito de aumentar o desempenho.IV. O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico.Está correto o que se afirma em:
 a) II e IV.
 b) I e IV.
 c) II e III.
 d) III e IV.
 e) I e III.
Alternativa marcada:
e) I e III.
Justificativa: Resposta correta: I e IV.O código é compilado uma vez, gerando o bytecode, que
pode ser interpretado quantas vezes forem necessárias e em qualquer ambiente java
existente. Verdadeira. Java gera um código intermediário chamado bytecode, que é um código
especial de máquina que não leva em consideração um ambiente específico, mas para um
ambiente genérico que independe do ambiente de desenvolvimento.O interpretador java
também é conhecido como JVM (Java Virtual Machine), que nada mais é do que um so�ware que
é capaz de interpretar os bytecodes em um ambiente específico. Verdadeira. É criado um
interpretador Java (JVM) para cada ambiente onde o Java poderá ser executado. Sendo assim,
esse interpretador poderá então executar qualquer aplicação Java desenvolvida para ele. Dessa
forma, temos uma JVM específica para cada ambiente ou dispositivo específico, mas não
podemos esquecer que, uma vez compilado um programa ou aplicação, essa técnica permite
que o programa seja executado em qualquer ambiente. 
Distratores:O bytecode é dependente do hardware e so�ware (sistema operacional) do
computador onde ocorreu a compilação. Falsa. O bytecode é uma linguagem de máquina
genérica que o processo de compilação da linguagem Java usa para padronizar as aplicações
Java, independentemente do ambiente onde ocorreu o processo de compilação.Atualmente
realiza uma compilação just-int-time (no momento da compilação), com o intuito de aumentar o
desempenho. Falsa. Uma vez que realiza a compilação just-in-time no momento da execução, na
etapa do interpretador.
0,00/ 0,50
4  1,50/ 1,50
19/04/2022 08:47 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6962111/635bad4a-1b32-11eb-b7ab-0636bf709961/ 3/6
Código: 36636 - Enunciado: Para o desenvolvimento de uma aplicação utilizando os conceitos
de programação orientada a objeto na linguagem Java, considere a classe a seguir:class IMC
{String nome;double peso, altura;}Determine, dentre as alternativas, aquela que implementa
corretamente o método de acesso que permite recuperar valores atribuídos à propriedade peso,
que se encontra armazenada na memória de um objeto.
 a) public getPeso( ) { return peso; }
 b) public setPeso(double p) { peso = p; }
 c) public double getPeso( ) { return peso; }
 d) public double setPeso( ) { return peso; }
 e) public getPeso(double peso) { return peso; }
Alternativa marcada:
c) public double getPeso( ) { return peso; }
Justificativa: Resposta correta:public double getPeso( ) { return peso; } 
O método de acesso que é responsável por recuperar valores é o Getter. Esses métodos nunca
recebem parâmetro, uma vez que apenas devem retornar o valor atribuído à propriedade, além
disso, devem ser definidos com o mesmo tipo do atributo que irá retornar. 
Distratores:public getPeso( ). Incorreta. Não foi definido o tipo de retorno, apenas métodos
construtoresnão possuem tipo de retorno.public getPeso(double peso). Incorreta. Não definido
o tipo de retorno e métodos Getters não recebem parâmetros.public setPeso(double p).
Incorreta. Não definido o tipo de retorno e o método é do tipo Setter, que realiza o
armazenamento e não o retorno.public double setPeso( ). Incorreta. O método é do tipo Setter,
que realiza o armazenamento e não o retorno, além disso, métodos Setters são sempre do tipo
void.
5  Código: 36642 - Enunciado: Um desenvolvedor precisa criar uma aplicação financeira para uso
com a conversão de valores entre reais e dólares. Sabe-se que o valor do dólar deve ser alterado
durante a execução da aplicação, mas de forma que, ao se atualizar esse valor por meio de um
objeto, todos os demais sejam atualizados conjuntamente. Para isso, é necessário definir o
atributo como compartilhado.Examine as opções de instruções a seguir e determine aquela que
permite que seja definido um atributo cujo valor seja compartilhado, ou seja, ao ser atualizado o
seu valor, todos os demais objetos criados a partir da classe na aplicação serão atualizados.
 a) public abstract double dolar = 4.125;
 b) public static double dolar = 4.125;
 c) public final double dolar = 4.125;
 d) public const double dolar = 4.125;
 e) public double dolar = 4.125;
Alternativa marcada:
b) public static double dolar = 4.125;
Justificativa: Resposta correta: public static double dolar = 4.125;.Um atributo é dito estático
quando é compartilhado por todas as instâncias da classe, ou seja, seu conteúdo é
compartilhado por todos os objetos criados e, quando um objeto realiza uma alteração, o valor é
atualizado em todos os demais. 
Distratores:public final double dolar = 4.125;. Incorreta. Um atributo é dito final quando o seu
valor, após ser inicializado, não pode mais ser alterado durante a execução da aplicação, o seu
valor será constante.public double dolar = 4.125;. Incorreta. Um atributo sem modificador pode
ser alterado durante a execução da aplicação.public abstract double dolar = 4.125;. Incorreta. Um
atributo não pode receber o modificador abstract, que é utilizado apenas com métodos. Um
método abstract é aquele que não é implementado em uma classe abstrata ou interface.public
const double dolar = 4.125;. Incorreta. O modificador const não faz parte da linguagem Java.
1,50/ 1,50
19/04/2022 08:47 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6962111/635bad4a-1b32-11eb-b7ab-0636bf709961/ 4/6
6  Código: 36639 - Enunciado: Para o desenvolvimento de um projeto de sistema orientado a
objetos na linguagem Java, considere o trecho de código a seguir: 
public class Pessoa { }public class Funcionario extends Pessoa { }public class Supervisor extends
Funcionario { } 
Examine as opções apresentadas e determine a correta:
 a) A classe Funcionario é superclasse direta de Supervisor.
 b) A classe Supervisor é superclasse direta de Funcionario e de Pessoa.
 c) A classe Pessoa é subclasse direta da classe Supervisor.
 d) A classe Supervisor é subclasse direta tanto de Pessoa como de Funcionario.
 e) A classe Supervisor é subclasse direta de Pessoa.
Alternativa marcada:
a) A classe Funcionario é superclasse direta de Supervisor.
Justificativa: Resposta correta: A classe Funcionario é superclasse direta de Supervisor.A classe
Supervisor herda diretamente da classe Funcionário, ou seja, a classe Funcionario é superclasse
direta de Supervisor. 
Distratores:A classe Pessoa é subclasse direta da classe Supervisor. Incorreta. A classe Pessoa é
superclasse direta de Funcionario.A classe Supervisor é superclasse direta de Funcionario e de
Pessoa. Incorreta. A classe Pessoa que é a superclasse de Funcionario, que é superclasse de
Supervisor.A classe Supervisor é subclasse direta de Pessoa. Incorreta. A classe Supervisor é
subclasse direta de Funcionario.A classe Supervisor é subclasse direta tanto de Pessoa, como de
Funcionario. Incorreta. A classe Supervisor é subclasse direta de Funcionário. Já a classe
Funcionario é subclasse direta de Pessoa.
1,50/ 1,50
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 interface Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
 b) public abstract Humano {}public class Homem implements Humano {}public class Mulher
implements Humano {}
 c) public abstract class Humano {}public abstract Homem extends Humano {}public abstract
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. 
2,00/ 2,00
19/04/2022 08:47 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6962111/635bad4a-1b32-11eb-b7ab-0636bf709961/ 5/6
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
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 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) { }
 b) 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) { }
 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(String n, double
p) { }public void cadastroParcial(String n, double p, double a) { }public void cadastroParcial(String
n, double a, double p) { }
 e) 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) { }
Alternativa marcada:
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) { }
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) { } 
0,00/ 2,00
19/04/2022 08:47 Ilumno
ilumno.sgp.starlinetecnologia.com.br/ilumno/schedule/resultcandidatedetailprint/6962111/635bad4a-1b32-11eb-b7ab-0636bf709961/ 6/6
 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, String n) { }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,
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