Baixe o app para aproveitar ainda mais
Prévia do material em texto
27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 1/8 Revisar envio do teste: Clique aqui para iniciar o Quiz SP_GRAD_686284_2301_01 2301-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário ANA CAROLINE GONZAGA ACQUESTA Curso 2301-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 27/03/23 12:22 Enviado 27/03/23 12:34 Data de vencimento 29/03/23 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 12 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Verifique os métodos construtores abaixo: A. public Boletim(){ } B. public Boletim(int a, float b){ Nota = b; Frequencia = a; } Se quisermos inicializar as variáveis de instância do objeto B (do tipo Boletim) com os valores zero para nota e zero para frequência, devemos utilizar a instrução: I. Boletim B = new Boletim(); II. Boletim B = new Boletim(0,0); III. Boletim B = new Boletim(“zero”,”zero”); Escolha a alternativa correta que resolve o problema apresentado: Sala de Aula Tutoriais 1 em 1 pontos ANA CAROLINE GONZAGA ACQUESTA 6 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_205070_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_205070_1&content_id=_9195971_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_260_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 2/8 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: I e II estão corretas. Somente I está correto. Somente II está correto. I e III estão corretas. II e III estão corretas. I e II estão corretas. Ambas as formas de zerar as variáveis de instância do objeto B estão corretas. O construtor padrão (vazio e sem parâmetro) faz exatamente isso. Pergunta 2 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Um dos recursos da programação Orientada a Objetos utilizada para proteger dados de acessos externos à classe é o encapsulamento. Porém, existem vários níveis desse tipo de proteção e são representados pelos modificadores de acesso. Qual o modificador de acesso que protege seus dados de acesso externo, mas permite que classes provenientes de herança possam acessar e manipular seu dado? protected public private protected internal void O modificador de acesso protected age como um private, porém permite acesso das classes filhas aos seus dados. Pergunta 3 Resposta Selecionada: e. Ao implementar classes genéricas precisamos determinar uma variável que receberá o parâmetro de tipo durante a declaração. Essa variável é representada por uma letra maiúscula e seguem uma convenção determinada na documentação do Java. Quais as letras utilizadas para representar chave e valor em tipos genéricos? K e V. 1 em 1 pontos 1 em 1 pontos 27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 3/8 Respostas: a. b. c. d. e. Comentário da resposta: C e V. K e E. T e E. K e T. K e V. Existe uma convenção nas letras que utilizamos para cravar os tipos de dados genéricos em Java. A biblioteca Java utiliza a letra E para o tipo de elemento em uma coleção, K e V para o conjunto de chave e valor, respectivamente. As letras T, U e S para quaisquer outros tipos. Pergunta 4 Resposta Selecionada: a. Respostas: a. b. c. d. e. A execução do código Java mostrado abaixo produzirá qual resultado? public class Questao { static int q1; int q2; static { q1=9 ;} { q2 = 3; } void troca() { q1=q2 ; } public static void main(String[] args) { Questao x=new Questao(); Questao y=new Questao(); x.q2=5; x.troca(); System.out.print(x.q1+" "+x.q2+" "+y.q1+" "+y.q2); } } 5 5 5 3. 5 5 5 3. 9 3 5 3. 5 3 5 3. 3 5 9 3. 5 5 9 3. 1 em 1 pontos 27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 4/8 Comentário da resposta: Como q1 é um atributo estático, ao modificá-lo alteramos o valor para todas as instâncias da classe. Pergunta 5 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Em relação aos métodos e classes declarados como “final”, é correto afirmar que: os métodos declarados private não são implicitamente final; um método declarado final em uma superclasse pode ser sobrescrito em uma subclasse; os métodos que são declarados static são implicitamente final; uma classe que é declarada final pode ser uma superclasse; os métodos declarados private não são implicitamente final; nenhum método em uma classe final é implicitamente final. Como o método de privado é acessado apenas pela classe, não é permitido nenhuma sobrescrita dele. Portanto, ele é um método final. Pergunta 6 Considere a declaração das interfaces abaixo escritas em Java: interface Autenticacao { boolean valida(String valor); } interface DataValida { String valida(LocalDate valor); } Em um determinado momento do programa foi criado um formulário que precisa estar autenticado para cadastrar datas de entrega no sistema. A implementação da classe Formulario fica: class Formulario implements Autenticacao, DataValida { // Código da classe 1 em 1 pontos 1 em 1 pontos 27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 5/8 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: } Observando o cenário descrito podemos afirmar que: no corpo da classe Formulario, o método valida deverá ser definido pelo menos duas vezes, sendo que uma definição corresponderá à assinatura prevista na declaração da interface Autenticacao e a outra definição corresponderá à assinatura prevista na declaração da interface DataValida; no corpo da classe Formulario, o método valida deverá ser definido pelo menos duas vezes, sendo que uma definição corresponderá à assinatura prevista na declaração da interface Autenticacao e a outra definição corresponderá à assinatura prevista na declaração da interface DataValida; no corpo da classe Formulario, o método valida deverá ser definido apenas uma vez e a assinatura será uma escolha do programador, podendo ser a prevista na declaração da interface Autenticacao ou a prevista na declaração da interface DataValida; no corpo da classe Formulario, o método valida deverá ser definido apenas uma vez, com a assinatura prevista na declaração da interface Autenticacao, mencionada em primeiro lugar na cláusula implements da declaração da classe Formulario; no corpo da classe Formulario, o método valida deverá ser definido apenas uma vez, com a assinatura prevista na declaração da interface DataValida, mencionada em último lugar na cláusula implements da declaração da classe Formulario; haverá um erro em tempo de compilação, assinalando ao programador a impossibilidade de a classe Formulario implementar simultaneamente as duas interfaces. Uma classe que implementa uma interface precisa implementar todos os métodos. Sendo assimé possível implementar métodos com o mesmo nome, mas diferente da assinatura, isso chama-se sobrecarga de método. Pergunta 7 O paradigma orientado a objetos possui inúmeros conceitos que o caracteriza. Indique a alternativa correta que representa os principais elementos componentes 1 em 1 pontos 27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 6/8 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: da orientação a objetos: Objeto, classe, construtores, encapsulamento e polimorfismo. Classe, objeto, método, struct e árvore binária. Polimorfismo, construtores, atributos, objeto e ponteiro. Objeto, classe, construtores, encapsulamento e polimorfismo. Modularidade, objeto, classe, métodos e atributos. Classe, objeto, sequência, decisão e iteração. Struct, árvore binária, ponteiro, modularidade, sequência, decisão e iteração não são elementos componentes das principais características da programação orientada a objetos. Pergunta 8 Resposta Selecionada: a. Respostas: a. b. c. Quanto ao uso de Generics na linguagem de programação Java 1.5 ou superiores, é correto afirmar que: os métodos genéricos permitem que programadores especifiquem, com várias declarações semelhantes de métodos, um conjunto de métodos polimórficos relacionados, onde são diferentes os parâmetros esperados por cada implementação de métodos dentro da mesma classe. os métodos genéricos permitem que programadores especifiquem, com várias declarações semelhantes de métodos, um conjunto de métodos polimórficos relacionados, onde são diferentes os parâmetros esperados por cada implementação de métodos dentro da mesma classe. todas as declarações de métodos genéricos têm uma seção de parâmetro de tipo delimitado por colchetes angulares ( < e > ) que precede o tipo de retorno do método. Além disso, os nomes de parâmetros de tipo precisam ser únicos entre os diferentes métodos genéricos da mesma classe. 1 em 1 pontos 27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 7/8 d. e. Comentário da resposta: quando o compilador traduz um método genérico em bytecode Java, ele remove a seção de parâmetro de tipo e substitui por tipos reais. Esse processo é conhecido como Erasure. a tecnologia de Generics permite escrever classes genéricas, onde todos os métodos contidos nesta classe são genéricos, exigência esta que é avaliada em tempo de execução para bytecode Java. uma classe não genérica pode ser derivada de uma classe genérica. Isto se dá devido à especificação de Polimorfismo do modelo Orientado a Objetos. Métodos genéricos foram feitos para minimizar a quantidade de sobrecarga de métodos. Pergunta 9 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Na sobrecarga de métodos, o compilador reconhece que os métodos são diferentes analisando o cabeçalho do método. Uma das verificações são a quantidade de parâmetros e os tipos desses parâmetros. Em Orientação a Objetos, a diferenciação dos métodos é conhecida por um conceito chamado: Assinatura do método; Polimorfismo Estático; Métodos Estáticos; Métodos Construtores; Assinatura do método; Encapsulamento do método. As declarações dos métodos estão na interface pública dos métodos. Os métodos que possuem o mesmo nome, porém com parâmetros diferentes, têm suas assinaturas diferentes. Pergunta 10 A criação de um objeto, em uma linguagem orientada a objetos, chama-se instância. Para efetuar a instância devemos declarar nossa variável do tipo do objeto e inicializá-lo com seu construtor. Indique a forma correta de instanciarmos o objeto Aluno. 1 em 1 pontos 1 em 1 pontos 27/03/2023, 12:34 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_29980372_1&course_id=_205070_1&content_id=_919599… 8/8 Segunda-feira, 27 de Março de 2023 12h34min33s BRT Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Aluno aluno = new Aluno(); Aluno a = Aluno; Aluno aluno = new Aluno(); a Aluno(); Aluno a = new a(); New Aluno(); Alternativa correta: B Existem 3 coisas importantes acontecendo: 1. Declaração da variável do tipo Aluno; 2. Criação da instância com new, reservando espaço de memória para os atributos dos objetos; 3. O endereço da instância criada é atribuída para a variável aluno. ← OK
Compartilhar