Prévia do material em texto
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 1/14
AO2
Entrega 12 de dez de 2021 em 23:59 Pontos 6 Perguntas 10
Disponível 1 de dez de 2021 em 0:00 - 12 de dez de 2021 em 23:59
Limite de tempo Nenhum
Instruções
Este teste foi travado 12 de dez de 2021 em 23:59.
Histórico de tentativas
Tentativa Tempo Pontuação
MAIS RECENTE Tentativa 1 15.005 minutos 0 de 6
Pontuação deste teste: 0 de 6
Enviado 12 de dez de 2021 em 23:59
Esta tentativa levou 15.005 minutos.
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que
você clique em "FAZER O QUESTIONÁRIO", no final da página.
0 / 0,6 ptsPergunta 1ão respondidaão respondida
Leia o texto a seguir:
Grupos de desenvolvimento de software podem usar uma abordagem
modular de projeto e implementação orientados a objetos para que
sejam muito mais produtivos do que com as técnicas anteriormente
populares como “programação estruturada” — programas orientados a
objetos são muitas vezes mais fáceis de entender, corrigir e modificar.
Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São
Paulo: Pearson Education do Brasil, 2017, p. 8.
A+
A
A-
https://famonline.instructure.com/courses/16354/quizzes/63051/history?version=1
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 2/14
Considerando as informações apresentadas, analise as afirmações
abaixo:
I. A programação orientada a objeto é um conjunto de princípios,
portanto pode ser aplicada em qualquer linguagem, desde que o
programador siga seus princípios.
II. Programas orientados a objeto possuem melhor desempenho do
que programas feitos utilizando apenas “programação estruturada”, ou
seja, são mais rápidos e usam menos memória.
IV. Programas orientados a objeto possuem grande capacidade de
reutilização de código, gerando códigos menores e fáceis de propagar
correções ou novas funcionalidades.
Estão corretas as afirmações:
II, apenas.
I e II, apenas.
I e III, apenas.
II e III, apenas.
III, apenas. esposta corretaesposta correta
0 / 0,6 ptsPergunta 2ão respondidaão respondida
Leia o texto a seguir:
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 3/14
Uma nova classe de objetos pode ser criada convenientemente por
meio de herança — ela (chamada subclasse) começa com as
características de uma classe existente (chamada superclasse),
possivelmente as personalizando e adicionando aspectos próprios. Na
nossa analogia do carro, um objeto da classe “conversível” decerto é
um objeto da classe mais geral “automóvel”, mas, especificamente, o
teto pode ser levantado ou baixado.
Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São
Paulo: Pearson Education do Brasil, 2017, pp. 9-10.
Considerando a analogia acima, assinale a alternativa correta:
O método para levantar ou abaixar o teto existe em “automóvel”, mas
deve ser sobreposto.
O método para levantar ou abaixar o teto não existe em “automóvel”,
mas pode ser criado em “conversível”.
esposta corretaesposta correta
O método para levantar ou abaixar o teto existe em “automóvel”, mas
só poderá ser usado em “conversível” se for protected ou public.
O método para levantar ou abaixar o teto existe em “automóvel”, mas
deve ser sobrecarregado.
O método para levantar ou abaixar o teto existe em “automóvel” e pode
ser usado diretamente em “conversível” por herança.
0 / 0,6 ptsPergunta 3ão respondidaão respondida
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 4/14
Leia o texto a seguir:
Quando uma classe implementa uma interface, o mesmo
relacionamento “é um” fornecido por herança se aplica. A classe
Employee implementa Payable, assim podemos dizer que um
Employee é uma Payable. De fato, objetos de quaisquer classes que
estendem Employee também são objetos Payable. Os objetos de
quaisquer subclasses da classe que implementa a interface também
podem ser pensados como objetos do tipo de interface.
Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São
Paulo: Pearson Education do Brasil, 2017, p. 337. Adaptado.
Considerando as informações apresentadas, avalie as asserções
abaixo e a relação proposta entre elas:
I. Existe uma relação de polimorfismo entre uma classe que
implementa uma interface e a interface, isso é, objetos da classe
podem ser tratados como objetos “da interface”.
PORQUE
II. A relação entre uma classe e uma interface pode ser utilizada para
realizar herança, transmitindo códigos prontos, como métodos, que
podem ser utilizados pelos objetos de suas subclasses, apesar de ser
impossível instanciar objetos de uma interface.
A respeito dessas asserções, assinale a opção correta:
A asserção I e a asserção II são proposições verdadeiras, e a II é uma
justificativa correta da I.
A asserção I e a asserção II são proposições falsas.
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 5/14
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
esposta corretaesposta correta
A asserção I é uma proposição falsa e a asserção II é uma proposição
verdadeira
A asserção I e a asserção II são proposições verdadeiras, mas a II não
é uma justificativa correta da I.
0 / 0,6 ptsPergunta 4ão respondidaão respondida
Leia o texto a seguir:
Assim como os desenhos de engenharia de um carro podem ser
reutilizados várias vezes para fabricar muitos carros, você pode
reutilizar uma classe muitas vezes para construir vários objetos. A
reutilização de classes existentes ao construir novas classes e
programas economiza tempo e esforço. Também ajuda a construir
sistemas mais confiáveis e eficientes, porque classes e componentes
existentes costumam passar por extensos testes, depuração e ajuste
de desempenho. Assim como a noção das partes intercambiáveis foi
crucial para a Revolução Industrial, classes reutilizáveis são
fundamentais para a revolução de software que foi estimulada pela
tecnologia de objetos.
Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São
Paulo: Pearson Education do Brasil, 2017, p. 9.
Considerando as informações apresentadas, avalie as asserções
abaixo e a relação proposta entre elas.
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 6/14
I. A programação orientada a objeto adota princípios como a
abstração, o encapsulamento, a herança e o polimorfismo.
PORQUE
II. Os quatro princípios da programação orientada a objeto combinados
dão origem ao princípio “Write Once, Run Anywhere”, em que o código
é compilado uma única vez e pode ser reutilizado em qualquer
computador.
A respeito dessas asserções, assinale a opção correta.
As asserções I e II são proposições falsas.
A asserção I é uma proposição falsa e a asserção II é uma proposição
verdadeira.
As asserções I e II são proposições verdadeiras, e a II é uma
justificativa correta da I.
As asserções I e II são proposições verdadeiras, mas a II não é uma
justificativa correta da I.
A asserção I é uma proposição verdadeira, e a asserção II é uma
proposição falsa.
esposta corretaesposta correta
0 / 0,6 ptsPergunta 5ão respondidaão respondida
Leia o texto a seguir:
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 7/14
Ao dirigir um carro, o ato de pressionar o acelerador envia uma
mensagem para o veículo realizar uma tarefa — isto é, ir mais rápido.Da mesma forma, você envia mensagens para um objeto. Cada
mensagem é implementada como uma chamada de método que
informa a um método do objeto a maneira de realizar sua tarefa. Por
exemplo, um programa pode chamar o método depósito de um
objeto conta bancária para aumentar o saldo da conta.
Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São
Paulo: Pearson Education do Brasil, 2017. p. 9. Adaptado.
Considerando o exemplo em destaque no fim do texto acima, assinale
a opção que melhor descreve como representar o valor a ser
depositado.
O valor a ser depositado deve ser determinado internamente pelo
método depósito, seguindo o princípio da abstração.
O valor a ser depositado seria uma exceção da classe conta bancária.
O valor a ser depositado seria uma classe filha da classe conta
bancária.
O valor a ser depositado seria um parâmetro do método depósito. esposta corretaesposta correta
O valor a ser depositado seria um atributo do objeto conta bancária.
0 / 0,6 ptsPergunta 6ão respondidaão respondida
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 8/14
Leia o texto a seguir:
A maioria das declarações de variável de instância é precedida pela
palavra-chave private. Da mesma forma que public, private é um
modificador de acesso. As variáveis ou métodos declarados com o
modificador de acesso private só são acessíveis a métodos da classe
em que isso ocorre.
Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São
Paulo: Pearson Education do Brasil, 2017, p. 58.
Considerando as informações apresentadas, avalie as asserções
abaixo e a relação proposta entre elas.
I. O uso de métodos get e set públicos em atributos private constitui
uma violação do encapsulamento da classe.
PORQUE
II. Métodos get e set permitem, respectivamente, ler e modificar o valor
do atributo, e métodos públicos são visíveis para todo o projeto.
A respeito dessas asserções, assinale a opção correta:
A asserção I é uma proposição verdadeira e a asserção II é uma
proposição falsa.
As asserções I e II são proposições verdadeiras e a asserção II é uma
justificativa correta da I.
As asserções I e II são proposições falsas.
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 9/14
As asserções I e II são proposições verdadeiras, mas a asserção II não
é uma justificativa correta da I.
A asserção I é uma proposição falsa e a asserção II é uma proposição
verdadeira.
esposta corretaesposta correta
0 / 0,6 ptsPergunta 7ão respondidaão respondida
Leia o texto a seguir:
O compilador verifica cada chamada de método e declaração de
método para determinar se ele lança uma exceção verificada. Se sim,
o compilador checa se a exceção verificada é capturada ou é
declarada em uma cláusula throws — isso é conhecido como requisito
“capture ou declare” (catch-or-declare). Lembre-se de que a cláusula
throws especifica as exceções que um método lança. Tais exceções
não são capturadas no corpo do método. Para satisfazer a parte
capture do requisito capture ou declare, o código que gera a exceção
deve ser empacotado em um bloco try e fornecer uma rotina de
tratamento catch para o tipo de exceção verificada (ou uma de suas
superclasses). Para satisfazer a parte declare do requisito capture ou
declare, o método contendo o código que gera a exceção deve
fornecer uma cláusula throws contendo o tipo de exceção verificada
depois de sua lista de parâmetros e antes do corpo do método. Se o
requisito “capture ou declare” não for atendido, o compilador emitirá
uma mensagem de erro.
Fonte: DEITEL, H.; DEITEL, P. Java: como programar. 10. ed. São
Paulo: Pearson Education do Brasil, 2017, p. 356. Adaptado.
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 10/14
Considerando as informações apresentadas, analise as afirmações
abaixo:
I. Se um método “A” chama um método “B” que lança exceções, “A”
deve necessariamente as capturar.
II. Como exceções podem ser capturadas ou lançadas, uma exceção
não tratada não provocará erro, desde que seja lançada por todos os
métodos na pilha.
III. Um método não é obrigado a capturar uma exceção, desde que ele
a lance.
IV. Um método não é obrigado a lançar uma exceção, desde que ele a
capture.
Estão corretas as afirmações:
I e III, apenas.
II, III e IV, apenas.
III e IV, apenas. esposta corretaesposta correta
I, II e IV, apenas.
I e II, apenas.
0 / 0,6 ptsPergunta 8ão respondidaão respondida
Analise o código abaixo:
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 11/14
void foo (Automovel a) {
a.locomocao();
}
void bar () {
Conversivel c = new Conversivel();
foo(c);
}
Sabendo que Conversivel é subclasse de Automovel, analise as
afirmações abaixo sobre o código:
I. Na função bar, c é um Automovel.
II. Na função foo, a é um Conversivel.
III. No método bar, o método sendo chamado na primeira linha é
determinado em tempo de compilação.
IV. No método foo, o método sendo chamado na primeira linha é
determinado em tempo de compilação.
São corretas as afirmações:
II e III, apenas.
I e III, apenas. esposta corretaesposta correta
I e II, apenas.
III e IV, apenas.
II e IV, apenas.
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 12/14
0 / 0,6 ptsPergunta 9ão respondidaão respondida
Observe o código a seguir:
class Carregador {
float tensao;
float corrente;
float potencia;
public Carregador() {
// ...
}
public void carregar(Bateria b) {
// ...
}
}
Assinale a afirmação correta sobre o código acima:
Um dos atributos da classe Carregador é “carregar”.
Um dos métodos da classe Carregador é “corrente”.
A classe Carregador sobrecarrega construtores.
Um dos atributos da classe Carregador é “Bateria”.
Existe outra classe chamada “Bateria”. esposta corretaesposta correta
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 13/14
0 / 0,6 ptsPergunta 10ão respondidaão respondida
Analise o código abaixo:
abstract class Pessoa {
public String nome;
public Pessoa(){
// ...
}
private void anda()
{
// ...
}
protected abstract void fala();
}
Considerando o código exposto acima, por que não podemos criar
objetos da classe Pessoa?
Porque ela não possui get e set para seu atributo.
Porque ela é uma classe abstrata e serve apenas para herança. esposta corretaesposta correta
Porque faltou implementar o método fala.
Porque ela é uma interface.
Porque ela possui erros: atributo público e métodos private e protected.
A+
A
A-
09/10/2023 16:01 AO2: Programação Orientada a Objetos
https://famonline.instructure.com/courses/16354/quizzes/63051?module_item_id=295686 14/14
Pontuação do teste: 0 de 6
A+
A
A-