Prévia do material em texto
Iniciado 28/11/22 19:24 Enviado 28/11/22 19:50 Data de vencimento 07/12/22 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 26 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: 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. 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 2 Resposta Selecionada: a. Respostas: a. b. 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. 1 em 1 pontos 1 em 1 pontos c. d. e. Comentário da resposta: 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 3 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Em muitos casos, uma superclasse é apresentada como uma classe abstrata, forçando a instância de um objeto através de uma subclasse. Nesse processo, existem situações onde a reescrita de alguns métodos é obrigatória. Assim, garantimos que o código estará pronto para uso quando instanciarmos um objeto declarado pela classe abstrata. Pensando nesse cenário, a pergunta que fazemos é por que classes abstratas não podem ser instanciadas? São classes incompletas. São classes incompletas. São classes compiladas. Não existe. Não são usadas. Só possuem atributos privados. Em geral, classes abstratas são utilizadas em conjunto com métodos abstratos que possuem apenas a declaração sem o corpo. Sendo assim, são classes que necessitam de implementações extras ou incompletas. Pergunta 4 A execução do código Java mostrado abaixo produzirá qual resultado? public class Questao { static int q1; 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: 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. Como q1 é um atributo estático, ao modificá-lo alteramos o valor para todas as instâncias da classe. Pergunta 5 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 em 1 pontos 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. Pergunta 6 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: A programação Orientada a Objetos possui inúmeros recursos muito úteis, como reúso de código, capacidade de manutenibilidade e segurança. Um recurso interessante é a sobrecarga que permite a criação de vários métodos com o mesmo nome para diversos usos diferentes. Qual o conceito em Orientação a Objetos que diz respeito à definição acima? Polimorfismo. Polimorfismo. Método construtor. Sobrecarga. Herança. Encapsulamento. Polimorfismo, também conhecido como sobrecarga, permite a criação de vários métodos com o mesmo nome. Pergunta 7 Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário Analise a sobrecarga dos métodos abaixo: public void A (float a, int b){} public void A (String a, int b){} public void A (float a, String b){} Escolha a opção correta se precisarmos chamar o método A e passar o nome de um aluno e sua média (considere o nome do objeto Aluno). Aluno.A(7.3, “João”); Aluno.A(“João”, 7.3); Aluno.A(7.3, “João”); Aluno(7.3, “João”); Aluno.A(João, 7); Aluno(“João”, 7); 1 em 1 pontos 1 em 1 pontos da resposta: A chamada ao método está correta e a passagem de parâmetros está na ordem certa, além de obedecer às regras corretamente, como passar um nome entre aspas e um número decimal com ponto (.) Pergunta 8 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Na linguagem Java, toda classe é subclasse de alguma outra. Porém, existe a possibilidade de uma classe não possuir filhas. Para tanto, basta que a definição de tal classe possua a palavra reservada: final; final; super; extends; implements; this. Uma classe final é constante, não pode ser alterada, assim toda classe final não pode ser extendida. Pergunta 9 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Em uma instância do objeto Aluno precisamos inicializar suas variáveis com os valores defaults indicados pelo stakeholder (dono do sistema). Qual conceito em Orientação a Objeto nos auxilia com esse procedimento? Método construtor. Método construtor. Método polimórfico. Método get. Encapsulamento de método. Método set. O construtor inicializa as variáveis de instância de um objeto no momento de sua criação. Pergunta 10 Uma das formas que podemos criar relacionamento entre classes é através da herança. Dependendo do processo realizado para construir esse relacionamento de classes dizemos 1 em 1 pontos 1 em 1 pontos 1 em 1 pontos Segunda-feira, 28 de Novembro de 2022 19h50min47s BRT Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: que é uma generalização ou uma especialização dessas classes. Isso auxilia no reaproveitamento de código de uma superclasse para uma subclasse. Tendo isso em mente, como podem ser definidas as superclasses e as subclasses, respectivamente? Superclasses são genéricas e as subclasses são especializadas.Superclasses são abstratas e as subclasses são concretas. Superclasses são comuns e as subclasses são raras. Superclasses são mais utilizadas e as subclasses menos utilizadas. Superclasses são menos genéricas e as subclasses mais especializadas. Superclasses são genéricas e as subclasses são especializadas. Como existe a hierarquia na estrutura de herança, as superclasses contêm as informações mais comuns, portanto é uma classe mais genérica. Com as informações específicas, as subclasses são chamadas de classes especializadas por se tratar de uma aplicação mais direcionada do objeto.