Buscar

AO2 Programação Orientada a Objetos (FAM) (4,8 de 6)

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 12 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 12 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 12 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

05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 1/12
AO2
Iniciado: 1 dez em 3:18
Instruções do teste
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,6 ptsPergunta 1
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.
 
I. A programação orientada a objeto adota princípios como a abstração, o
encapsulamento, a herança e o polimorfismo.
 
PORQUE
 
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 2/12
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, mas a II não é uma justificativa correta
da I.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa.
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.
0,6 ptsPergunta 2
O método para levantar ou abaixar o teto não existe em “automóvel”, mas pode ser
criado em “conversível”.
Leia o texto a seguir:
 
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:
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 3/12
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
sobreposto.
O método para levantar ou abaixar o teto existe em “automóvel” e pode ser usado
diretamente em “conversível” por herança.
O método para levantar ou abaixar o teto existe em “automóvel”, mas deve ser
sobrecarregado.
0,6 ptsPergunta 3
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.
 
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.
 
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 4/12
I e III, apenas.
II, apenas.
II e III, apenas.
I e II, apenas.
III, apenas.
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:
0,6 ptsPergunta 4
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.
 
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 5/12
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 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, 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.
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:
0,6 ptsPergunta 5
Leia o texto a seguir:
 
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.
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 6/12
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 um atributo do objeto conta bancária.
O valor a ser depositado seria um parâmetro do método depósito.
O valor a ser depositado seria uma classe filha da classe conta bancária.
O valor a ser depositado seria uma exceção da classe conta bancária.
 
0,6 ptsPergunta 6
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 umarotina 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.
 
Considerando as informações apresentadas, analise as afirmações abaixo:
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 7/12
I e III, apenas.
I, II e IV, apenas.
III e IV, apenas.
I e II, apenas.
II, III e IV, apenas.
 
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:
0,6 ptsPergunta 7
Observe o código a seguir:
 
class Carregador {
 float tensao;
 float corrente;
 float potencia;
 
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 8/12
Um dos métodos da classe Carregador é “corrente”.
A classe Carregador sobrecarrega construtores.
Existe outra classe chamada “Bateria”.
Um dos atributos da classe Carregador é “Bateria”.
Um dos atributos da classe Carregador é “carregar”.
 public Carregador() {
 // ...
 }
 
 public void carregar(Bateria b) {
 // ...
 }
}
 
Assinale a afirmação correta sobre o código acima:
 
0,6 ptsPergunta 8
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.
 
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 9/12
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 asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa.
A asserção I e a asserção II são proposições verdadeiras, mas a 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
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:
0,6 ptsPergunta 9
Analise o código abaixo:
 
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 10/12
I e II, apenas.
III e IV, apenas.
I e III, apenas.
II e IV, apenas.
II e III, apenas.
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:
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 11/12
0,6 ptsPergunta 10
Porque ela é uma interface.
Porque ela não possui get e set para seu atributo.
Porque ela possui erros: atributo público e métodos private e protected.
Porque faltou implementar o método fala.
Porque ela é uma classe abstrata e serve apenas para herança.
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?
 
05/12/2021 19:13 Teste: AO2
https://famonline.instructure.com/courses/16354/quizzes/63051/take 12/12
Salvo em 19:13 Enviar teste

Continue navegando