Logo Passei Direto
Buscar

Programação Orientada a Objeto - AVA2

Ferramentas de estudo

Questões resolvidas

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Prévia do material em texto



Informações da avaliação
 Vinicius Guimarães de Souza  1230116661
 21_2025_1_IL10311_21ADS5251A
 Avaliação 3 - Prova Substituta - 02/05/2025 08:00:00 (Finalizado)
 Sala Online / Andar Online / Prédio Online / Polo Online
Total: 9.00 / 10.00
 Legenda
 Discursiva  Objetiva
 Questão 1 | Código 36875 | 1.00 / 1.00
Enunciado
Durante a implementação de uma classe, o programador decidiu aplicar o conceito de sobrecarga de
métodos construtores. Analise a implementação da classe abaixo. (Considere que os métodos Setters e
Getters serão implementados corretamente).class PesoIdeal { String nome, situacao; int idade; double peso,
altura; public PesoIdeal () { } public PesoIdeal(String n, double p) { setNome(n); setPeso(p); } public
PesoIdeal(String n, double p, double a) { setNome(n); setPeso(p); setAltura(a); } public PesoIdeal(double a,
double p) { setAltura(a); setPeso(p); }}Compare as possíveis soluções apresentadas a seguir e avalie qual
apresenta a correta codificação da criação do objeto atleta.
Justificativa
Resposta correta: PesoIdeal atleta = new PesoIdeal(1.80, 80.5);Método construtor: possui o mesmo nome
da classe.Sobrecarga de método construtor: métodos com mesmo nome da classe, mas com assinaturas
diferentes.Sintaxe para criar objeto: <nome da classe> nome do objeto = new <nome do método
construtor>;Está utilizando o quarto método construtor definido na classe PesoIdeal.Distratores:Atleta =
new PesoIdeal(1.80, 80.5);. Incorreta. A sintaxe para criar um objeto é: <nome da classe> nome do
objeto = new <nome do método construtor>;. Nesse caso, faltou o nome da classe antes da palavra
Atleta.PesoIdeal = new atleta(1.80, 80.5);. Incorreta. A sintaxe para criar um objeto é: <nome da classe>
nome do objeto = new <nome do método construtor>; Nesse caso, faltou o nome do objeto depois do
nome da classe.PesoIdeal atleta = new PesoIdeal(Paulo,80.5, 1.8). Incorreta. O problema está na passagem
dos parâmetros do método construtor. Quando temos o tipo de dados String, o mesmo deve ser passado
entre aspas – “Paulo”, ou ser o identificador de uma variável do tipo String, que não foi identificada de
acordo com a boa prática em desenvolvimento Java.PesoIdeal atleta = new PesoIdeal (“Paulo”,
“Sobrepeso”,80.5, 1.8).Incorreta. Não foi implementado na classe PesoIdeal nenhum método com a
assinatura: PesoIdeal(String, String, double, double).Assinaturas dos métodos implementados:PesoIdeal
()PesoIdeal(String, double)PesoIdeal(String, double, double)PesoIdeal(double, double)
 >d)PesoIdeal atleta = new PesoIdeal(1.80, 80.5);
Alternativa marcada
d) PesoIdeal atleta = new PesoIdeal(1.80, 80.5);

 Questão 2 | Código 36640 | 1.00 / 1.00
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.
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.
 >e)protected int cpf;
Alternativa marcada
e) protected int cpf;
 Questão 3 | Código 36633 | 1.00 / 1.00
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):
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.
 >b)II.
Alternativa marcada
b) II.

 Questão 4 | Código 36874 | 0.00 / 1.00
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.
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 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.
 >a)public abstract class Humano {}public class Homem extends Humano {}public class Mulher
extends Humano {}
Alternativa marcada
b) public abstract class Humano {}public abstract Homem extends Humano {}public abstract Mulher
extends Humano {}
 Questão 5 | Código 36638 | 1.00 / 1.00
Enunciado
Um desenvolvedor recebeu como tarefa a criação da classe Funcionario, que se relaciona hierarquicamente
com a classe Pessoa, conforme pode ser observado na modelagem a seguir:Determine a opção cujo trecho
de código em Java está implementando a classe Funcionario corretamente:
Justificativa
Resposta correta:public class Funcionario extends Pessoa { }.A figura apresenta a aplicação do conceito de
herança, onde a classe Funcionario herda da classe Pessoa. Na linguagem Java, a sintaxe para
implementar o conceito de herança é: public class <nome da classe “filha”> extends <nome da classe
“pai”> { }Nesse caso, a classe “filha” é Funcionario e a classe “mãe” é Pessoa.Distratores:public class
Funcionario { }. Incorreta.Essa instrução implementa a classe Funcionário sem o conceito de herança e,
como podemos observar na modelagem, a classe Funcionário herda da classe Pessoa.public class Pessoa
extends Funcionario { }. Incorreta.Essa instrução, apesar de implementar o conceito de herança, faz uma
inversão entre as classes Pai e Filha.public class Pessoa implements Funcionario { }. Incorreta.Essa
instrução utiliza o termo implements, que só deve ser usado para interfaces.public classe Funcionário
implements Pessoa { }. Incorreta. Essa instrução utiliza o termo implements, que só deve ser usado para
interfaces.
 >e)public class Funcionario extends Pessoa { }
Alternativa marcada
e) public class Funcionario extends Pessoa { }

 Questão 6 | Código 36634 | 1.00 / 1.00
Enunciado
Na aplicação dos conceitos de programação orientada a objetos na linguagem Java, existe um conceito
relacionado à criação de regras (obrigações) que devem ser implementadas em classes.Identifique, entre os
conceitos apresentados a seguir, aquele que é responsável por definir regras que devem ser implementadas
em uma classe.
Justificativa
Resposta correta: Interface.Esse conceito determina a criação de uma classe especial chamada interface,
capaz de definir métodos que serão obrigatórios em outras classes, determinando, assim, regras de
implementação.Distratores:Herança. Incorreta. Esse conceito é responsável pela determinação de
hierarquia entre classes, não determinando implementação de regras para outras classes, mas sim
herdando métodos já implementados.Sobrecarga. Incorreta. Esse conceito permite o uso de um mesmo
operador para a realização de diferentes tarefas ou mesmo para a criação de métodos com o mesmo nome,
mas com diferentes assinaturas de métodos.Sobrescrita. Incorreta. Esse conceito permite o uso de um
mesmo método com a mesma assinatura em diferentes classes com relacionamento
hierárquico.Encapsulamento. Incorreta. Esse conceito é responsável por controlar o acesso aos membros
de uma classe.
 >d)Interface.
Alternativa marcada
d) Interface.
 Questão 7 | Código 36641 | 1.00 / 1.00
Enunciado
Um estudante está desenvolvendo uma aplicação para realização de cálculos físicos, onde necessita definir
o valor do coeficiente de dilatação linear do aço, que é de 11*10-6. Sabendo-se que esse valor é constante
em toda a aplicação.Examine as opções de instruções a seguir e determine aquela que permite que seja
definido um atributo cujo valor seja constante, ou seja, o seu valor, após ser inicializado, não poderá mais
ser alterado durante a execução da aplicação para o coeficiente de dilatação do aço.
Justificativa
Resposta correta:public final double aco = 0.000011;.Um atributo é dito final quando o seu valor, após ser
inicializado, não poderá mais ser alterado durante a execução da aplicação, o seu valor será
constante.Distratores:public static double aco = 0.000011;. Incorreta. 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.public double aco = 0.000011;. Incorreta. Um atributo sem modificador pode ser alterado
durante a execução da aplicação.public abstract double aco = 0.000011;. 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 aco = 0.000011;. Incorreta. O
modificador const não faz parte da linguagem Java.
 >a)public final double aco = 0.000011;
Alternativa marcada
a) public final double aco = 0.000011;

 Questão 8 | Código 36611 | 1.00 / 1.00
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?
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) { }
 >a)8.
Alternativa marcada
a) 8.
 Questão 9 | Código 36632 | 1.00 / 1.00
Enunciado
Encapsulamento é o ato de esconder os membros (atributos e métodos) de uma classe: seja por não serem
de interesse por questões de implementação ou por segurança dos dados atribuídos ao objeto.Indique o tipo
de visibilidade em que os métodos e atributos são acessíveis pelos membros da própria classe e pelas suas
subclasses (herança), sendo também acessíveis por outras classes que estejam no mesmo pacote:
Justificativa
Resposta correta:Protected.O modificador protected deixará visível o atributo para todas as outras classes e
subclasses que pertencem ao mesmo pacote. O protected é um intermediário entre public e
private.Distratores:Public. Incorreta. A classe, método ou atributo é sempre acessível a todos os métodos de
quaisquer outras classes. É o nível mesmo rígido de encapsulamento.Pakage. Incorreta. Também conhecida
como omissão ou padrão. A classe, método ou atributo é acessível somente por métodos das classes que
pertencem ao mesmo pacote (pakage).Private. Incorreta. A classe é definida como classe de suporte, já
métodos e atributos são acessíveis somente por membros da própria classe.Extends. Incorreta. É o termo
utilizado para aplicarmos o conceito de herança.
 >e)Protected.
Alternativa marcada
e) Protected.

 Questão 10 | Código 36872 | 1.00 / 1.00
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.
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 emuma 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().
 >e)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) { }
Alternativa marcada
e) 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) { }

Mais conteúdos dessa disciplina