Buscar

Programação Orientada a Objetos I - Questionario 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 
 
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,25 em 0,25 pontos 
 
 
 
Assinale a alternativa que explica corretamente qual é o erro do código abaixo: 
 
 
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 
 
Observe o código abaixo e assinale a alternativa correta: 
 
 
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 
 
Considere o seguinte trecho de código e assinale a alternativa correta: 
 
 
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.

Continue navegando