Buscar

programacao orientada a objetos - questionario unidade 3

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

Prévia do material em texto

Programação orientada a objetos 1
Questionário unidade 3
Questão 01 - Considere o seguinte trecho de código e assinale a alternativa que traz a 
saída que é apresentada quando o programa é executado: 
R: Carmen, Prata. 
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. 
Questão 02 - Considere o seguinte trecho de código e assinale a alternativa que traz a 
saída que é apresentada quando o programa é executado: 
R: Prata, Prata. 
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. 
Questão 03 - Observe o código abaixo e assinale a alternativa correta: 
R: A classe Exemplo apresenta um método construtor. 
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. 
Questão 04 - Assinale a alternativa que explica corretamente qual é o erro do código 
abaixo: 
R: A classe Data não possui um construtor, que não recebe nenhum parâmetro. 
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. 
Questão 05 - Observe o código abaixo e assinale a alternativa correta: 
R: O código compila sem erros. 
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. 
Questão 06 - Considere o seguinte trecho de código e assinale a alternativa correta: 
R: O código é um exemplo de polimorfismo. 
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. 
Questão 07 - 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: 
R: Uma classe representa um conjunto de objetos que compartilham as mesmas 
características e comportamentos. 
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). 
Questão 08 - O que significa o modificador static? 
R: Quando aplicado a um atributo, indica que ele terá o mesmo valor para todas as 
instâncias da classe. 
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. 
Questão 09 - O que significa “encapsular atributos”? 
R: Significa que os atributos são declarados como privados e seu acesso é feito por 
métodos que garantem a integridade dos dados. 
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. 
Questão 10 - Qual das linhas abaixo apresenta uma declaração correta de um método?
R: void Metodo() 
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