Buscar

arividade 3

Prévia do material em texto

Curso
	PROGRAMAÇÃO ORIENTADA A OBJETOS I
	Teste
	QUESTIONÁRIO UNIDADE III
	Iniciado
	17/03/21 20:27
	Enviado
	17/03/21 20:33
	Status
	Completada
	Resultado da tentativa
	1,5 em 2,5 pontos  
	Tempo decorrido
	5 minutos
	Resultados exibidos
	Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas respondidas incorretamente
· Pergunta 1
0,25 em 0,25 pontos
	
	
	
	Considere o seguinte trecho de código e assinale a alternativa que traz a saída que é apresentada quando o programa é executado:
	
	
	
	
		Resposta Selecionada:
	a. 
Carmen, Prata.
	Respostas:
	a. 
Carmen, Prata.
	
	b. 
Prata, Carmen.
	
	c. 
Carmen, Carmen.
	
	d. 
Prata, Prata.
	
	e. 
O programa apresenta erros.
	Feedback da resposta:
	Resposta: A
Comentário: no método Main() são instanciados dois objetos da classe Vegetal – tomate e banana. O atributo Nome de tomate recebe o valor “Carmen” e o valor do atributo Nome de banana recebe “Prata”. A saída é gerada com os valores dos nomes de tomate e banana, nessa ordem.
	
	
	
· Pergunta 2
0,25 em 0,25 pontos
	
	
	
	Considere o seguinte trecho de código e assinale a alternativa que traz a saída que é apresentada quando o programa é executado:
	
	
	
	
		Resposta Selecionada:
	d. 
Prata, Prata.
	Respostas:
	a. 
Carmen, Prata.
	
	b. 
Prata, Carmen.
	
	c. 
Carmen, Carmen.
	
	d. 
Prata, Prata.
	
	e. 
O programa apresenta erros.
	Feedback da resposta:
	Resposta: D
Comentário: no método Main() é criada a referência tomate para uma nova instância da classe Vegetal. A seguir, na linha 18, é criada uma nova referência, banana, para a mesma instância referenciada por tomate. Ambas as referências apontam para o mesmo objeto na memória. Assim, quando a linha 20 atribui o valor “Carmen” ao atributo Nome de um dos objetos, ambos são atribuídos, porque na verdade só há um objeto na memória. Na linha 21 o mesmo ocorre: quando o programa atribui o valor “Prata” ao nome de banana, o Nome de tomate também é atribuído, porque ambos são o mesmo objeto.
	
	
	
· Pergunta 3
0,25 em 0,25 pontos
	
	
	
	Observe o código abaixo e assinale a alternativa correta:
	
	
	
	
		Resposta Selecionada:
	c. 
A classe Exemplo apresenta um método construtor.
	Respostas:
	a. 
A classe Exemplo apresenta um método e um atributo.
	
	b. 
A classe Exemplo apresenta dois atributos.
	
	c. 
A classe Exemplo apresenta um método construtor.
	
	d. 
A classe Exemplo apresenta dois métodos construtores.
	
	e. 
A classe Exemplo apresenta erros.
	Feedback da resposta:
	Resposta: C
Comentário: a classe Exemplo apresenta dois métodos, sendo um deles um método construtor. O método construtor pode ser identificado por não apresentar tipo de retorno (nem mesmo void) e ter o mesmo nome da classe.
	
	
	
· Pergunta 4
0 em 0,25 pontos
	
	
	
	Assinale a alternativa que explica corretamente qual é o erro do código abaixo:
	
	
	
	
		Resposta Selecionada:
	d. 
Os parâmetros do método construtor da classe Data são ambíguos com relação aos atributos da classe Data, pois são idênticos.
	Respostas:
	a. 
A classe Data não possui um construtor.
	
	b. 
A classe Data não possui um construtor, que não recebe nenhum parâmetro.
	
	c. 
Os parâmetros do método construtor da classe Data entram em conflito com os atributos da classe Data, pois são idênticos.
	
	d. 
Os parâmetros do método construtor da classe Data são ambíguos com relação aos atributos da classe Data, pois são idênticos.
	
	e. 
O código não apresenta erros.
	
	
	
· Pergunta 5
0 em 0,25 pontos
	
	
	
	Observe o código abaixo e assinale a alternativa correta:
	
	
	
	
		Resposta Selecionada:
	d. 
O código não compila, pois a declaração da classe Legume está errada.
	Respostas:
	a. 
O código não compila, pois o objeto l da classe Legume não possui um atributo chamado Especie.
	
	b. 
O código não compila, pois o objeto l da classe Legume não possui um atributo chamado Nome.
	
	c. 
O código não compila, pois a declaração da classe Vegetal está errada.
	
	d. 
O código não compila, pois a declaração da classe Legume está errada.
	
	e. 
O código compila sem erros.
	
	
	
· Pergunta 6
0 em 0,25 pontos
	
	
	
	Considere o seguinte trecho de código e assinale a alternativa correta:
	
	
	
	
		Resposta Selecionada:
	b. 
O código é um exemplo de sobrecarga.
	Respostas:
	a. 
O código é um exemplo de polimorfismo.
	
	b. 
O código é um exemplo de sobrecarga.
	
	c. 
O código é um exemplo de sobrescrita.
	
	d. 
O código é um exemplo de delegação.
	
	e. 
O código apresenta erros.
	
	
	
· Pergunta 7
0 em 0,25 pontos
	
	
	
	A abstração de conceitos do mundo real em classes e objetos é a principal motivação para a formalização do paradigma orientado a objetos. Com isso em mente, assinale a alternativa correta:
	
	
	
	
		Resposta Selecionada:
	c. 
Classes representam uma abstração estática enquanto objetos representam uma abstração dinâmica.
	Respostas:
	a. 
As classes modelam os comportamentos do conceito enquanto os objetos modelam as características do conceito.
	
	b. 
Os atributos e métodos de um objeto são herdados de sua classe.
	
	c. 
Classes representam uma abstração estática enquanto objetos representam uma abstração dinâmica.
	
	d. 
Uma classe representa um conjunto de objetos que compartilham as mesmas características e comportamentos.
	
	e. 
Uma classe é uma instância de um objeto.
	
	
	
· Pergunta 8
0,25 em 0,25 pontos
	
	
	
	O que significa o modificador static?
	
	
	
	
		Resposta Selecionada:
	d. 
Quando aplicado a um atributo, indica que ele terá o mesmo valor para todas as instâncias da classe.
	Respostas:
	a. 
É um modificador aplicado a atributos, indicando que ele é uma constante e seu valor não pode ser alterado após ter sido inicializado.
	
	b. 
Quando aplicado a um construtor, indica que ele não pode ser sobrescrito.
	
	c. 
Quando aplicado a um método, indica que ele não pode ser sobrecarregado.
	
	d. 
Quando aplicado a um atributo, indica que ele terá o mesmo valor para todas as instâncias da classe.
	
	e. 
Quando aplicado a um método, indica que este é uma sobrescrita de um método de uma superclasse.
	Feedback da resposta:
	Resposta: D
Comentário: o modificador static pode ser aplicado a métodos (exceto construtores) e a atributos. Quando isso é feito em um método, podemos usar tal método diretamente da classe, sem a necessidade de instanciar um objeto da classe. Quando static é aplicado a um atributo, este passa a ter o mesmo valor para todas as instâncias dessa classe.
	
	
	
· Pergunta 9
0,25 em 0,25 pontos
	
	
	
	O que significa “encapsular atributos”?
	
	
	
	
		Resposta Selecionada:
	e. 
Significa que os atributos são declarados como privados e seu acesso é feito por métodos que garantem a integridade dos dados.
	Respostas:
	a. 
Significa que os atributos são declarados como públicos para permitir que sejam acessados diretamente por outras partes do sistema, tornando o código mais eficiente.
	
	b. 
Significa que os atributos de uma classe são inicializados pelo método construtor de modo que o objeto esteja pronto para ser utilizado logo após ser instanciado.
	
	c. 
Significa que os atributos seguem o padrão de estilo “camel case”.
	
	d. 
Significa que os atributos pertencem à classe, não aos objetos instanciados por essa classe.
	
	e. 
Significa que os atributos são declarados como privados e seu acesso é feito por métodos que garantem a integridade dos dados.
	Feedback da resposta:
	Resposta: E
Comentário: atributos públicos, por terem acesso livre por qualquer parte do código, podem receber valores incorretos. Por exemplo, mês com o valor 42, dia da semana com o valor “tomate”, e assim por diante. Para resolver esse problema, tornamos os atributos privados e seu acesso é fornecido exclusivamente por métodos acessores (métodos que dão acesso) – um método “get” que retorna o valor do atributo e um método “set” que define o valor do atributo, caso o valor atribuído seja correto.
	
	
	
· Pergunta 10
0,25 em 0,25 pontos
	
	
	
	Qual das linhas abaixoapresenta uma declaração correta de um método?
	
	
	
	
		Resposta Selecionada:
	a. 
void Metodo()
	Respostas:
	a. 
void Metodo()
	
	b. 
int Metodo (int, string)
	
	c. 
int retorno Metodo (int parametro)
	
	d. 
Metodo (double parametro)
	
	e. 
float Metodo (string parametro1 int parametro2)
	Feedback da resposta:
	Resposta: A
Comentário: A declaração correta de um método é: [tipo de retorno] [nome do método] ([declaração de parâmetros]) O tipo de retorno deve ser um tipo com o qual se possa declarar qualquer variável. Caso o método não tenha nenhum retorno, deve-se utilizar a palavra void. O nome do método pode ser criado ao gosto do desenvolvedor, desde que respeite as regras de sobrecarga e sobrescrita. Os parênteses são obrigatórios, mas a declaração de parâmetros é opcional. Caso o método receba um parâmetro, ele deve ser declarado segundo as regras de declaração de variáveis, ou seja, [tipo] [nome do parâmetro]. Caso o método receba mais de um parâmetro, eles devem ser separados por vírgulas.

Continue navegando