Baixe o app para aproveitar ainda mais
Prévia do material em texto
Revisar envio do teste: Clique aqui para iniciar o QuizSP_GRAD_686284_2301_01 2301-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário DANIELLI ALMEIDA DA LUZ Curso 2301-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 07/03/23 09:49 Enviado 07/03/23 09:57 Data de vencimento 29/03/23 23:59 Status Completada Resultado da tentativa 7 em 10 pontos Tempo decorrido 7 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: Além de relacionamentos com classes através da herança, podemos criar relacionamentos com outros tipos de recursos da programação orientada a objetos, uma interface. Para vincular esse relacionamento devemos acrescentar a interface junto a uma palavra reservada. Qual a palavra reservada utilizada para associar uma interface a uma classe? implements. extends. protected. interface. final. implements. Uma interface é implementada por um objeto/classe, portanto utiliza-se a palavra reservada implements. Pergunta 2 Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: 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. 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. Sala de Aula Tutoriais 1 em 1 pontos 1 em 1 pontos DANIELLI ALMEIDA DA LUZ 68 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 Pergunta 3 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: 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); } } 3 5 9 3. 5 5 5 3. 9 3 5 3. 5 3 5 3. 3 5 9 3. 5 5 9 3. Como q1 é um atributo estático, ao modificá-lo alteramos o valor para todas as instâncias da classe. Pergunta 4 Analise o código da classe abaixo: public class A{ private int a; private String b; private boolean c; public void setB(String b){ this.b = b; } public void setC(boolean c){ this.c = c; } public void setA(int a){ this.a = a; } public int getA(){ return this.a; } public String getB(){ return this.b; } public boolean getC(){ 0 em 1 pontos 1 em 1 pontos Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: return this.c; } } O que será impresso na tela, depois de rodarmos o seguinte código do método main? A a = new A(); a.setA(1); system.out.println(a.getA() + “\n” + a.getB() + “\n” + a.getC()); 1 Null false 0 0 0 1 0 0 1 Null true 1 Null false 0 Null false O construtor inicializou as variáveis de instância do objeto a com os valores zero para a, null para b e false para c. Em seguida inserimos o valor 1 em a e imprimimos os valores das variáveis a, b e c na ordem (pulando uma linha). Pergunta 5 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: O paradigma orientado a objetos possui alguns recursos essenciais à sua aplicação. O ato de protegermos as variáveis de uma classe de acessos externos para não haver manipulação indevida é efetuado por qual recurso? Encapsulamento. Polimorfismo. Método construtor. Sobrecarga. Herança. Encapsulamento. Encapsular é proteger os dados de acessos externos para não haver violação indevida. Pergunta 6 Resposta Selecionada: c. Respostas: a. b. Os métodos construtores são chamados no momento da inicialização de um objeto e possuem algumas características. Indique a alternativa correta sobre as características de um método construtor. Possuem o mesmo nome de sua classe e podem ter parâmetros. Devem ter o mesmo nome da sua classe, porém não possuem parâmetros. O nome pode ser qualquer um, mas devem ser chamados com o comando new. 1 em 1 pontos 1 em 1 pontos c. d. e. Comentário da resposta: Possuem o mesmo nome de sua classe e podem ter parâmetros. São chamados pela instrução new, mas devem ser encapsulados com o modificador de acesso private. O método construtor não é obrigatório na instância e inicialização de um objeto. O método construtor tem como principal característica possuir o mesmo nome de sua classe. Podem ter parâmetros como qualquer método. Pergunta 7 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Quanto ao uso de Generics na linguagem de programação Java 1.5 ou superiores, é correto afirmar que: 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. 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. 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 8 Resposta Selecionada: a. 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 } 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; 0 em 1 pontos 1 em 1 pontos Respostas: a. b. c. d. e. Comentário da resposta: 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 interfaceAutenticacao 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 9 Resposta Selecionada: c. Respostas: a. b. c. d. Comentário da resposta: Qual o trecho de código que utiliza o recurso chamado generics da forma correta, ao criar uma lista de objetos da classe Discente? List<Discente>lstDiscente = new ArrayList<>(). List<Discente>IstDiscente = new ArrayList(). List<> lstDiscente = new ArrayList<>(). List<Discente>lstDiscente = new ArrayList<>(). List lstDiscente = new ArrayList<Discente>(). O parâmetro de tipo deve ser informado na declaração da interface List e a instância do ArrayList precisa informar que ele é Generics também. Pergunta 10 Resposta Selecionada: b. Respostas: a. b. c. d. Uma das técnicas utilizadas para deixar a programação mais flexível é o uso de Generics, quando falamos na linguagem Java. Sobre o uso dessa técnica podemos dizer que: I - A abstração sobre tipos é permitida em classes genéricas, por exemplo as coleções. II - Métodos que introduzem seus próprios parâmetros de tipos são chamados métodos genéricos. Parecido com a declaração de um tipo genérico, porém o escopo é limitado apenas ao método. III - Podem existir métodos genéricos estáticos e construtores de classe genéricos. Contudo, métodos genéricos não estáticos são proibidos. IV - Algumas das vantagens do uso da programação genérica é a simplicidade e a robustez. Dessa forma, não existe a necessidade de casting entre variáveis e o compilador inibe a atribuição de tipos incompatíveis. V - Os parâmetros de tipo de um tipo genérico podem ser ou não limitados. Para restringir esse parâmetro utilizamos do recurso de herança na declaração do parâmetro de tipo. Estão corretas, apenas: I, II, III, V I, II, III, IV I, II, III, V I, II, IV, V I, III, IV, V 1 em 1 pontos 0 em 1 pontos Terça-feira, 7 de Março de 2023 09h57min09s BRT e. Comentário da resposta: II, III, IV, V O Java proíbe o uso de construtores genéricos e métodos estáticos em classes genéricas. ← OK
Compartilhar