Logo Passei Direto
Buscar

AO2 - Programação Orientada a Objetos - NOTA 6.0 de 6.0

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

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

AO2
Iniciado: 21 fev em 10:21
Instruções do teste

Pergunta 1 0,6 pts
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.
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+
A
A-
NOTA: 6.0 de 6.0

Pergunta 2 0,6 pts
A respeito dessas asserções, assinale a opção correta:
A asserção I é uma proposição falsa e a asserção II é uma proposição verdadeira
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, 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 e a asserção II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
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:
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”, mas deve ser sobrecarregado.
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” e pode ser usado diretamente em “conversível”
por herança.
O método para levantar ou abaixar o teto não existe em “automóvel”, mas pode ser criado em “conversível”.
A+
A
A-

Pergunta 3 0,6 pts

Pergunta 4 0,6 pts
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.
 
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 exceção da classe conta bancária.
O valor a ser depositado seria uma classe filha da classe conta bancária.
Analise o código abaixo:
 
abstract class Pessoa {
 public String nome;
 
 public Pessoa(){
A+
A
A-

Pergunta 5 0,6 pts
 // ...
 }
 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 possui erros: atributo público e métodos private e protected.
Porque faltou implementar o método fala.
Porque ela é uma interface.
Porque ela é uma classe abstrata e serve apenas para herança.
Analise o código abaixo:
 
void foo (Automovel a) {
 a.locomocao();
}
void bar () {
 Conversivel c = new Conversivel();
 foo(c);
A+
A
A-

Pergunta 6 0,6 pts
}
 
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:
I e III, apenas.
II e IV, apenas.
III e IV, apenas.
I e II, apenas.
II e III, apenas.
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.
 
A+
A
A-

Pergunta 7 0,6 pts
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.
 
III. 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.
II e III, apenas.
I e III, apenas.
III, apenas.
I e II, apenas.
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
A+
A
A-

Pergunta 8 0,6 pts
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
 
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 é compiladouma ú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 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.
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.
A asserção I é uma proposição falsa e a asserção II é uma proposição verdadeira.
Leia o texto a seguir:
 
A+
A
A-

Pergunta 9 0,6 pts
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:
As asserções I e II são proposições verdadeiras, mas a asserção II não é 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.
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 asserção II é uma justificativa correta da I.
Leia o texto a seguir:
 
A+
A
A-
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.
 
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.
III e IV, apenas.
II, III e IV, apenas.
A+
A
A-

Pergunta 10 0,6 pts
I e II, apenas.
I, II e IV, apenas.
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:
 
Existe outra classe chamada “Bateria”.
A classe Carregador sobrecarrega construtores.
Um dos atributos da classe Carregador é “Bateria”.
Um dos atributos da classe Carregador é “carregar”.
A+
A
A-
Salvo em 12:36 
Um dos métodos da classe Carregador é “corrente”.
Enviar teste
A+
A
A-

Mais conteúdos dessa disciplina