Baixe o app para aproveitar ainda mais
Prévia do material em texto
Revisar envio do teste: QUESTIONÁRIO UNIDADE III PROGRAMAÇÃO ORIENTADA A OBJETOS I 6857-60_57501_R_E1_20221_01 CONTEÚDO Usuário felipe.acs @aluno.unip.br Curso PROGRAMAÇÃO ORIENTADA A OBJETOS I Teste QUESTIONÁRIO UNIDADE III Iniciado 21/03/22 17:19 Enviado 21/03/22 17:37 Status Completada Resultado da tentativa 2,5 em 2,5 pontos Tempo decorrido 17 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários, Perguntas respondidas incorretamente Pergunta 1 Resposta Selecionada: a. Respostas: a. b. c. d. Considere o seguinte trecho de código e assinale a alternativa que traz a saída que é apresentada quando o programa é executado: Carmen, Prata. Carmen, Prata. Prata, Carmen. Carmen, Carmen. Prata, Prata. UNIP EAD BIBLIOTECAS MURAL DO ALUNO TUTORIAISCONTEÚDOS ACADÊMICOS 0,25 em 0,25 pontos http://company.blackboard.com/ https://ava.ead.unip.br/webapps/blackboard/execute/courseMain?course_id=_218111_1 https://ava.ead.unip.br/webapps/blackboard/content/listContent.jsp?course_id=_218111_1&content_id=_2689362_1&mode=reset https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_10_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_27_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_47_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_29_1 https://ava.ead.unip.br/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_25_1 https://ava.ead.unip.br/webapps/login/?action=logout e. Comentário da resposta: O programa apresenta erros. 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 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Considere o seguinte trecho de código e assinale a alternativa que traz a saída que é apresentada quando o programa é executado: Prata, Prata. Carmen, Prata. Prata, Carmen. Carmen, Carmen. Prata, Prata. O programa apresenta erros. 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. 0,25 em 0,25 pontos Pergunta 3 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Observe o código abaixo e assinale a alternativa correta: A classe Exemplo apresenta um método construtor. A classe Exemplo apresenta um método e um atributo. A classe Exemplo apresenta dois atributos. A classe Exemplo apresenta um método construtor. A classe Exemplo apresenta dois métodos construtores. A classe Exemplo apresenta erros. Resposta: C Comentário: a classe Exemplo apresenta dois métodos, sendo um deles um método construtor. O método construtor pode ser identi�cado por não apresentar tipo de retorno (nem mesmo void) e ter o mesmo nome da classe. Pergunta 4 Assinale a alternativa que explica corretamente qual é o erro do código abaixo: 0,25 em 0,25 pontos 0,25 em 0,25 pontos Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: A classe Data não possui um construtor, que não recebe nenhum parâmetro. A classe Data não possui um construtor. A classe Data não possui um construtor, que não recebe nenhum parâmetro. Os parâmetros do método construtor da classe Data entram em con�ito com os atributos da classe Data, pois são idênticos. 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. O código não apresenta erros. 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 Observe o código abaixo e assinale a alternativa correta: 0,25 em 0,25 pontos Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: O código compila sem erros. O código não compila, pois o objeto l da classe Legume não possui um atributo chamado Especie. O código não compila, pois o objeto l da classe Legume não possui um atributo chamado Nome. O código não compila, pois a declaração da classe Vegetal está errada. O código não compila, pois a declaração da classe Legume está errada. O código compila sem erros. 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 Considere o seguinte trecho de código e assinale a alternativa correta: 0,25 em 0,25 pontos Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: O código é um exemplo de polimor�smo. O código é um exemplo de polimor�smo. O código é um exemplo de sobrecarga. O código é um exemplo de sobrescrita. O código é um exemplo de delegação. O código apresenta erros. 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 Resposta Selecionada: d. Respostas: a. b. 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: Uma classe representa um conjunto de objetos que compartilham as mesmas características e comportamentos. As classes modelam os comportamentos do conceito enquanto os objetos modelam as características do conceito. Os atributos e métodos de um objeto são herdados de sua classe. 0,25 em 0,25 pontos c. d. e. Comentário da resposta: Classes representam uma abstração estática enquanto objetos representam uma abstração dinâmica. Uma classe representa um conjunto de objetos que compartilham as mesmas características e comportamentos. Uma classe é uma instância de um objeto. Resposta D Comentário: uma classe de�ne 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 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: O que signi�ca o modi�cador static? Quando aplicado a um atributo, indica que ele terá o mesmo valor para todas as instâncias da classe. É um modi�cador aplicado a atributos, indicando que ele é uma constante e seu valor não pode ser alterado após ter sido inicializado. Quando aplicado a um construtor, indica que ele não pode ser sobrescrito. Quando aplicado a um método, indica que ele não pode ser sobrecarregado. Quando aplicado a um atributo, indica que ele terá o mesmo valor para todas as instâncias da classe. Quando aplicado a um método,indica que este é uma sobrescrita de um método de uma superclasse. Resposta: D Comentário: o modi�cador 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. 0,25 em 0,25 pontos Pergunta 9 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: O que signi�ca “encapsular atributos”? Signi�ca que os atributos são declarados como privados e seu acesso é feito por métodos que garantem a integridade dos dados. Signi�ca 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 e�ciente. Signi�ca 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. Signi�ca que os atributos seguem o padrão de estilo “camel case”. Signi�ca que os atributos pertencem à classe, não aos objetos instanciados por essa classe. Signi�ca que os atributos são declarados como privados e seu acesso é feito por métodos que garantem a integridade dos dados. 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 de�ne o valor do atributo, caso o valor atribuído seja correto. Pergunta 10 Resposta Selecionada: a. Respostas: a. b. c. d. e. Qual das linhas abaixo apresenta uma declaração correta de um método? void Metodo() void Metodo() int Metodo (int, string) int retorno Metodo (int parametro) Metodo (double parametro) �oat Metodo (string parametro1 int parametro2) 0,25 em 0,25 pontos 0,25 em 0,25 pontos Segunda-feira, 21 de Março de 2022 17h37min16s GMT-03:00 Comentário 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. ← OK
Compartilhar