Buscar

QUESTIONÁRIO UNIDADE III

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

Pergunta 1
0,25 em 0,25 pontos
	
	
	
	
	
	
	
	
		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
	
	
	
	
	
	
	
	
		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
	
	
	
	
	
	
	
	
		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,25 em 0,25 pontos
	
	
	
	
	
	
	
	
		Resposta Selecionada:
	b. 
A classe Data não possui um construtor, que não recebe nenhum parâmetro.
	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.
	Feedback da resposta:
	Resposta: B
Comentário: a classe Data apresenta apenas um método construtor, que recebe como parâmetros três parâmetros int. Assim, quando um objeto dessa classe é instanciado, como ocorre no método Main(), o construtor deve ser invocado, passando-se três parâmetros do tipo int.
	
	
	
Pergunta 5
0,25 em 0,25 pontos
	
	
	
	
	
	
	
	
		Resposta Selecionada:
	e. 
O código compila sem erros.
	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.
	Feedback da resposta:
	Resposta: E
Comentário: a classe Legume é uma especialização da classe Vegetal, o que é evidenciado pela sua declaração (class Legume : Vegetal). Por isso, o atributo Especie é herdado pela classe Legume e não precisa (nem deve) ser declarado novamente. Dessa forma, a classe Legume, de fato, possui dois atributos: Especie e Nome.
	
	
	
Pergunta 6
0,25 em 0,25 pontos
	
	
	
	
	
	
	
	
		Resposta Selecionada:
	a. 
O código é um exemplo de polimorfismo.
	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.
	Feedback da resposta:
	Resposta: A
Comentário: no método Main() é declarada uma variável “v” do tipo Vegetal, mas essa variável recebe uma instância da classe Legume. Como Legume é uma especialização, um tipo de Vegetal, então ele pode ser utilizado em qualquer lugar onde um Vegetal pode ser utilizado. Em outras palavras, se um Vegetal “entra”, um Legume, que é um tipo de Vegetal, também “entra”. Se a variável “v” espera um Vegetal, ela pode armazenar um Legume, que é um tipo de Vegetal.
	
	
	
Pergunta 7
0,25 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:
	d.
Uma classe representa um conjunto de objetos que compartilham as mesmas características e comportamentos.
	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.
	Feedback da resposta:
	Resposta D
Comentário: uma classe define as características dos objetos instanciados por ela, seus atributos e métodos. Dessa forma, todos os objetos dessa classe terão as mesmas características (atributos) e comportamentos (métodos).
	
	
	
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 abaixo apresenta 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.

Outros materiais