Baixe o app para aproveitar ainda mais
Prévia do material em texto
06/09/2021 13:04 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20881457_1&course_id=_163555_1&content_id=_724052… 1/7 Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS3DA_2103-2103-686284 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário WEVERTON FELIPE FERREIRA Curso 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 06/09/21 12:34 Enviado 06/09/21 13:04 Data de vencimento 20/09/21 23:59 Status Completada Resultado da tentativa 9 em 10 pontos Tempo decorrido 29 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: A forma mais segura e adequada de manipular variáveis na programação orientada a objetos é utilizando os métodos de acesso e os métodos modificadores. Quais comandos demonstram esses métodos, respectivamente? Get e set. Get e set. Construtor e main. Set e get. Main e get. Construtor e set. Os métodos de acesso são também conhecidos como get e os métodos modificadores são também conhecidos como set. Pergunta 2 Sala de Aula Tutoriais 1 em 1 pontos 1 em 1 pontos WEVERTON FELIPE FERREIRA 74 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_163555_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_163555_1&content_id=_7240509_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_193_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 06/09/2021 13:04 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20881457_1&course_id=_163555_1&content_id=_724052… 2/7 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 3 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Em relação aos métodos e classes declarados como “final”, é correto afirmar que: um método declarado final em uma superclasse pode ser sobrescrito em uma subclasse; 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 4 0 em 1 pontos 1 em 1 pontos 06/09/2021 13:04 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20881457_1&course_id=_163555_1&content_id=_724052… 3/7 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Com o intuito de agilizar o desenvolvimento de um sistema, temos várias técnicas de relacionamentos dentre elas a herança. Com um relacionamento de herança é possível declarar um objeto do tipo da superclasse e instanciar com objetos das subclasses. Essa técnica é conhecida como polimorfismo. O que permite o desenvolvimento de uma forma mais geral. A partir disso, podemos afirmar que a ideia por trás do polimorfismo é: Minimizar a manutenção do sistema trabalhando com a superclasse; Expandir o sistema com mais funcionalidades; Acessar um banco de dados; Trocar informação; Minimizar a manutenção do sistema trabalhando com a superclasse; Ter mais código de validação. A ideia por trás do polimorfismo é que você possa programar o sistema com objetos que compartilham a mesma superclasse, como se eles fossem o mesmo tipo de objeto. Pergunta 5 Resposta Selecionada: c. Respostas: a. 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, IV, V I, II, III, IV 1 em 1 pontos 06/09/2021 13:04 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20881457_1&course_id=_163555_1&content_id=_724052… 4/7 b. c. d. e. Comentário da resposta: I, II, III, V I, II, IV, V I, III, IV, V II, III, IV, V O Java proíbe o uso de construtores genéricos e métodos estáticos em classes genéricas. Pergunta 6 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: O paradigma orientado a objetos revolucionou a forma como desenvolvemos software, no sentido de que a linguagem de programação está muito mais próxima da linguagem humana, onde o objeto é o elemento principal desse paradigma e pode significar qualquer “coisa” do mundo real. Verifique as afirmações abaixo: I. Reúso de código; II. Segurança, devido ao encapsulamento de dados; III. Facilidade de desenvolvimento e manutenibilidade; IV. Estrutura de sequência, decisão e iteração. Pensando nos maiores benefícios da utilização de uma linguagem orientada a objetos, indique quais afirmações são corretas. I, II e III I, II e IV Somente IV II e III I, II e III I e II As estruturas de sequência, decisão e iteração são características do paradigma Estruturado. Todas as outras afirmações são benefícios da orientação a objetos. Pergunta 7 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 1 em 1 pontos 1 em 1 pontos 06/09/2021 13:04 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20881457_1&course_id=_163555_1&content_id=_724052… 5/7 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: 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 8 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 9 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 1 em 1 pontos 1 em 1 pontos 06/09/2021 13:04 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20881457_1&course_id=_163555_1&content_id=_724052… 6/7 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: 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; 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. 06/09/2021 13:04 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_20881457_1&course_id=_163555_1&content_id=_724052… 7/7 Segunda-feira, 6 de Setembro de 2021 13h04min09s BRT Pergunta 10 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. ← OK 1 em 1 pontos javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_7240509_1&course_id=_163555_1&nolaunch_after_review=true'); 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 1 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS3DA_2103-2103-686284 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário RODOLFO MAGALHAES SILVA Curso 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 16/09/21 10:48 Enviado 16/09/21 15:34 Data de vencimento 20/09/21 23:59 Status Completada Resultado da tentativa 5 em 10 pontos Tempo decorrido 4 horas, 46 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: a. Respostas: a. b. c. d. 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. Sala de Aula Tutoriais 1 em 1 pontos Terminar SessãoRODOLFO MAGALHAES SILVA 61 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_163555_1 https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21083925_1&course_id=_163555_1&content_id=_7240521_1&return_content=1&step=%23contextMenu https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_163555_1&content_id=_7240509_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_193_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 2 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= e. Comentário da resposta: Encapsulamento. Polimorfismo, também conhecido como sobrecarga, permite a criação de vários métodos com o mesmo nome. Pergunta 2 Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Podemos definir uma hierarquia de classes através do uso de herança. Ela permite que uma classe abaixo receba os atributos e métodos da classe diretamente acima dela. Esse é um relacionamento que nos permite estender as capacidades de uma classe, reaproveitando o código da superclasse. Diferente de um relacionamento do tipo de composição. Sendo assim, é correto afirmar que um relacionamento de herança entre A (superclasse) e B (subclasse) é descrito da seguinte maneira: A tem um objeto de B. A é um objeto de B. A tem um objeto de B. B é um objeto de A. B tem um objeto de A. A e B são independentes. Sendo B uma extensão de A, é correto afirmar que o objeto B é um objeto de A. Pergunta 3 Resposta Selecionada: b. Respostas: a. b. c. d. 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: super; final; super; extends; implements; 0 em 1 pontos 0 em 1 pontos 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 3 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= e. Comentário da resposta: this. Uma classe final é constante, não pode ser alterada, assim toda classe final não pode ser extendida. Pergunta 4 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 5 Com o intuito de agilizar o desenvolvimento de um sistema, temos várias técnicas de relacionamentos dentre elas a herança. Com um relacionamento de herança é possível declarar um objeto do tipo da superclasse e instanciar com objetos das subclasses. Essa técnica é conhecida como polimorfismo. O que 1 em 1 pontos 1 em 1 pontos 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 4 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: permite o desenvolvimento de uma forma mais geral. A partir disso, podemos afirmar que a ideia por trás do polimorfismo é: Minimizar a manutenção do sistema trabalhando com a superclasse; Expandir o sistema com mais funcionalidades; Acessar um banco de dados; Trocar informação; Minimizar a manutenção do sistema trabalhando com a superclasse; Ter mais código de validação. A ideia por trás do polimorfismo é que você possa programar o sistema com objetos que compartilham a mesma superclasse, como se eles fossem o mesmo tipo de objeto. Pergunta 6 Resposta Selecionada: b. 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 compiladas. 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. 0 em 1 pontos 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 5 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= Pergunta 7 Resposta Selecionada: a. 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: 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. 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. 1 em 1 pontos 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 6 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= Pergunta 8 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: A interface serve como um contrato para que uma classe possua determinados recursos. Garantindo assim que os recursos estejam disponíveis para qualquer classe que se associar à interface. Para que ocorra esse relacionamento, existem algumas regras ao criar uma interface. O que pode ser declarado em uma interface? Métodos privados e atributos privados. Métodos finals. Apenas atributos. Métodos privados e atributos privados. Métodos e atributos estáticos. Constantes e métodos abstratos. Interfaces são contratos para garantir que métodos serão implementados por uma determinada classe. Portanto, funcionam como classes abstratas. Pergunta 9 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); A chamada ao método está correta e a passagem de parâmetros 0 em 1 pontos 1 em 1 pontos 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 7 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= da resposta: 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 10 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(){ return this.c; } } O que será impresso na tela, depois de rodarmos o seguinte código do método main? 0 em 1 pontos 16/09/2021 15:35Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... Página 8 de 8https://senacsp.blackboard.com/webapps/assessment/review/review…urse_id=_163555_1&content_id=_7240521_1&return_content=1&step= Quinta-feira, 16 de Setembro de 2021 15h34min14s BRT Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: A a = new A(); a.setA(1); system.out.println(a.getA() + “\n” + a.getB() + “\n” + a.getC()); 1 0 0 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). ← OK javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_7240509_1&course_id=_163555_1&nolaunch_after_review=true'); O paradigma orientado a objetos possui alguns recursosessenciais à 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. Sala de Aula Tutoriais ← OK Sobrecarga. Herança. Encapsulamento. Encapsular é proteger os dados de acessos externos para não haver violação indevida. 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. 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. 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. 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. Uma interface, no contexto de desenvolvimento de sistemas orientados a objetos, pode ser interpretada como um dispositivo de fronteira, pois define a maneira de comunicação entre duas entidades e a abstração de fronteira pode ser entendida como uma forma de interação da entidade com o mundo exterior. De acordo com a linguagem Java, analise as afirmativas a respeito de interfaces. I. As interfaces são classes abstratas, completamente não implementadas. II. A classe que implementa uma interface precisa fornecer uma implementação para todos os métodos na interface. III. Para que uma determinada classe seja vista como uma implementação de uma interface na linguagem Java, faz-se necessário indicar na declaração da classe a palavra reservada Extends. IV. Uma classe pode implementar apenas uma interface para evitar a herança múltipla, pois é de difícil implementação na linguagem Java. I e II. I e IV. II e III I e II. II e IV. I e III. Toda vez que uma classe implementa uma interface, é necessário preencher as informações lógicas dos métodos, sendo assim todos os métodos de uma interface devem ser implementados. 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; 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. 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(){ 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). O paradigma orientado a objetos revolucionou a forma como desenvolvemos software, no sentido de que a linguagem de programação está muito mais próxima da linguagem humana, onde o objeto é o elemento principal desse paradigma e pode significar qualquer “coisa” do mundo real. Verifique as afirmações abaixo: I. Reúso de código; II. Segurança, devido ao encapsulamento de dados; III. Facilidade de desenvolvimento e manutenibilidade; IV. Estrutura de sequência, decisão e iteração. Pensando nos maiores benefícios da utilização de uma linguagem orientada a objetos, indique quais afirmações são corretas. I, II e III Domingo, 19 de Setembro de 2021 16h11min09s BRT I, II e IV Somente IV II e III I, II e III I e II As estruturas de sequência, decisão e iteração são características do paradigma Estruturado. Todas as outras afirmações são benefícios da orientação a objetos. 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. 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 1/8 Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS3DA_2103-2103-686284 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário ROBERTO DE OLIVEIRA SOARES Curso 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 17/09/21 20:32 Enviado 17/09/21 21:28 Data de vencimento 20/09/21 23:59 Status Completada Resultado da tentativa 9 em 10 pontos Tempo decorrido 55 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: d. Respostas: a. b. c. O paradigma orientado a objetos revolucionou a forma como desenvolvemos software, no sentido de que a linguagem de programação está muito mais próxima da linguagem humana, onde o objeto é o elemento principal desse paradigma e pode significar qualquer “coisa” do mundo real. Verifique as afirmações abaixo: I. Reúso de código; II. Segurança, devido ao encapsulamento de dados; III. Facilidade de desenvolvimento e manutenibilidade; IV. Estrutura de sequência, decisão e iteração. Pensando nos maiores benefícios da utilização de uma linguagem orientada a objetos, indique quais afirmações são corretas. I, II e III I, II e IV Somente IV II e III Sala de Aula Tutoriais 1 em 1 pontos ROBERTO DE OLIVEIRA SOARES https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_163555_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_163555_1&content_id=_7240509_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_193_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 2/8 d. e. Comentário da resposta: I, II e III I e II As estruturas de sequência, decisão e iteração são características do paradigma Estruturado. Todas as outras afirmações são benefícios da orientação a objetos. Pergunta 2 Resposta Selecionada: a. 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); } } 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 3 1 em 1 pontos 1 em 1 pontos 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 3/8 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 4 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Podemos definir uma hierarquia de classes através do uso de herança. Ela permite que uma classe abaixo receba os atributos e métodos da classe diretamente acima dela. Esse é um relacionamento que nos permite estender as capacidades de uma classe, reaproveitando o código da superclasse. Diferente de um relacionamento do tipo de composição. Sendo assim, é correto afirmar que um relacionamento de herança entre A (superclasse) e B (subclasse) é descrito da seguinte maneira: B tem um objeto de A. A é um objeto de B. A tem um objeto de B. B é um objeto de A. B tem um objeto de A. A e B são independentes. Sendo B uma extensão de A, é correto afirmar que o objeto B é um objeto de A. Pergunta 5 0 em 1 pontos 1 em 1 pontos 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 4/8 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Uma interface, no contexto de desenvolvimento de sistemas orientados a objetos, pode ser interpretada como um dispositivo de fronteira, pois define a maneira de comunicação entre duas entidades e a abstração de fronteira pode ser entendida como uma forma de interação da entidade com o mundo exterior. De acordo com a linguagem Java, analise as afirmativas a respeito de interfaces. I. As interfaces são classes abstratas, completamente não implementadas. II. A classe que implementa uma interface precisa fornecer uma implementação para todos os métodos na interface. III. Para que uma determinada classe seja vista como uma implementação de uma interface na linguagem Java, faz-se necessário indicar na declaração da classe a palavra reservada Extends. IV. Uma classe pode implementar apenas uma interface para evitar a herança múltipla, pois é de difícil implementação na linguagem Java. I e II. I e IV. II e III I e II. II e IV. I e III. Toda vez que uma classe implementa uma interface, é necessário preencher as informações lógicas dos métodos, sendo assim todos os métodos de uma interface devem ser implementados. Pergunta 6 Resposta Selecionada: c. Respostas: a. b. c. d. e. O paradigma orientado a objetos possui inúmeros conceitos que o caracteriza. Indique a alternativa correta que representa os principais elementos componentes 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. 1 em 1 pontos 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 5/8 Comentário da resposta: 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 7 Resposta Selecionada: 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(){ return this.c; } } O que será impresso na tela, depois de rodarmos o seguinte código do métodomain? A a = new A(); a.setA(1); system.out.println(a.getA() + “\n” + a.getB() + “\n” + a.getC()); 1 em 1 pontos 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 6/8 d. Respostas: a. b. c. d. e. Comentário da resposta: 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 8 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: 1 em 1 pontos 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 7/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 9 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: 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, IV, V I, II, III, IV I, II, III, V I, II, IV, V I, III, IV, V II, III, IV, V O Java proíbe o uso de construtores genéricos e métodos estáticos em classes genéricas. 1 em 1 pontos 17/09/2021 21:31 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21113693_1&course_id=_163555_1&content_id=_724052… 8/8 Sexta-feira, 17 de Setembro de 2021 21h28min43s BRT Pergunta 10 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. ← OK 1 em 1 pontos javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_7240509_1&course_id=_163555_1&nolaunch_after_review=true'); 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 1/8 Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS3DA_2103-2103-686284 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário ALEX FERREIRA NUNES Curso 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 15/09/21 17:18 Enviado 15/09/21 17:40 Data de vencimento 20/09/21 23:59 Status Completada Resultado da tentativa 9 em 10 pontos Tempo decorrido 21 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: d. Respostas: a. b. c. d. e. Com o intuito de agilizar o desenvolvimento de um sistema, temos várias técnicas de relacionamentos dentre elas a herança. Com um relacionamento de herança é possível declarar um objeto do tipo da superclasse e instanciar com objetos das subclasses. Essa técnica é conhecida como polimorfismo. O que permite o desenvolvimento de uma forma mais geral. A partir disso, podemos afirmar que a ideia por trás do polimorfismo é: Minimizar a manutenção do sistema trabalhando com a superclasse; Expandir o sistema com mais funcionalidades; Acessar um banco de dados; Trocar informação; Minimizar a manutenção do sistema trabalhando com a superclasse; Ter mais código de validação. Sala de Aula Tutoriais 1 em 1 pontos ALEX FERREIRA NUNES 66 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_163555_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_163555_1&content_id=_7240509_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_193_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 2/8 Comentário da resposta: A ideia por trás do polimorfismo é que você possa programar o sistema com objetos que compartilham a mesma superclasse, como se eles fossem o mesmo tipo de objeto. Pergunta 2 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. atecnologia 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 0 em 1 pontos 1 em 1 pontos 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 3/8 Resposta Selecionada: d. Respostas: a. b. 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(){ 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 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 4/8 c. d. e. Comentário da resposta: 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 4 Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: 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); 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 5 A execução do código Java mostrado abaixo produzirá qual resultado? 1 em 1 pontos 1 em 1 pontos 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 5/8 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: 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. Como q1 é um atributo estático, ao modificá-lo alteramos o valor para todas as instâncias da classe. Pergunta 6 Resposta Selecionada: e. Respostas: a. b. c. d. 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. C e V. K e E. T e E. K e T. 1 em 1 pontos 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 6/8 e. Comentário da resposta: 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 7 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: A forma mais segura e adequada de manipular variáveis na programação orientada a objetos é utilizando os métodos de acesso e os métodos modificadores. Quais comandos demonstram esses métodos, respectivamente? Get e set. Get e set. Construtor e main. Set e get. Main e get. Construtor e set. Os métodos de acesso são também conhecidos como get e os métodos modificadores são também conhecidos como set. Pergunta 8 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da 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. 1 em 1 pontos 1 em 1 pontos 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 7/8 resposta: Uma interface é implementada por um objeto/classe, portanto utiliza-se a palavra reservada implements. Pergunta 9 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: 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 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. Pergunta 10 Uma interface, no contexto de desenvolvimento de sistemas orientados a objetos, pode ser interpretada como um dispositivo de fronteira, pois define a maneira de comunicação entre duas entidades e a abstração de fronteira pode ser entendida como uma forma de interação da entidade com o mundo exterior. De acordo com a linguagem Java, analise as afirmativas a respeito de interfaces. I. As interfaces são classes abstratas, completamente não implementadas. II. A classe que implementa uma interface precisa fornecer uma implementação para todos os métodos na interface. 1 em 1 pontos 1 em 1 pontos 15/09/2021 17:41 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21072617_1&course_id=_163555_1&content_id=_724052… 8/8 Quarta-feira, 15 de Setembro de 2021 17h40min13s BRT Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: III. Para que uma determinada classe seja vista como uma implementação de uma interface na linguagemJava, faz-se necessário indicar na declaração da classe a palavra reservada Extends. IV. Uma classe pode implementar apenas uma interface para evitar a herança múltipla, pois é de difícil implementação na linguagem Java. I e II. I e IV. II e III I e II. II e IV. I e III. Toda vez que uma classe implementa uma interface, é necessário preencher as informações lógicas dos métodos, sendo assim todos os métodos de uma interface devem ser implementados. ← OK javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_7240509_1&course_id=_163555_1&nolaunch_after_review=true'); 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 1/9 Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS3DA_2103-2103-686284 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário ROBERTO DE OLIVEIRA SOARES Curso 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 15/09/21 17:35 Enviado 15/09/21 18:39 Data de vencimento 20/09/21 23:59 Status Completada Resultado da tentativa 8 em 10 pontos Tempo decorrido 1 hora, 3 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 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? interface. extends. protected. interface. final. implements. Sala de Aula Tutoriais 0 em 1 pontos ROBERTO DE OLIVEIRA SOARES 67 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_163555_1 https://senacsp.blackboard.com/webapps/assessment/review/review.jsp?attempt_id=_21073005_1&course_id=_163555_1&content_id=_7240521_1&return_content=1&step=#contextMenu https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_163555_1&content_id=_7240509_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_193_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 2/9 da resposta: Uma interface é implementada por um objeto/classe, portanto utiliza-se a palavra reservada implements. Pergunta 2 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 3 Resposta Selecionada: b. Respostas: a. b. c. d. 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); 1 em 1 pontos 1 em 1 pontos 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 3/9 e. Comentário da resposta: Aluno(“João”, 7); 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 4 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 5 Resposta Selecionada: d. Com o intuito de agilizar o desenvolvimento de um sistema, temos várias técnicas de relacionamentos dentre elas a herança. Com um relacionamento de herança é possível declarar um objeto do tipo da superclasse e instanciar com objetos das subclasses. Essa técnica é conhecida como polimorfismo. O que permite o desenvolvimento de uma forma mais geral. A partir disso, podemos afirmar que a ideia por trás do polimorfismo é: 1 em 1 pontos 1 em 1 pontos 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 4/9 Respostas: a. b. c. d. e. Comentário da resposta: Minimizar a manutenção do sistema trabalhando com a superclasse; Expandir o sistema com mais funcionalidades; Acessar um banco de dados; Trocar informação; Minimizar a manutenção do sistema trabalhando com a superclasse; Ter mais código de validação. A ideia por trás do polimorfismo é que você possa programar o sistema com objetos que compartilham a mesma superclasse, como se eles fossem o mesmo tipo de objeto. Pergunta 6 Resposta Selecionada: e. Respostas: a. b. 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: I e II estão corretas. Somente I está correto. Somente II está correto. 1 em 1 pontos 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 5/9 c. d. e. Comentário da resposta: 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 7 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da resposta: 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. 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 chavee valor, respectivamente. As letras T, U e S para quaisquer outros tipos. Pergunta 8 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. 1 em 1 pontos 1 em 1 pontos 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 6/9 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: 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, IV, V I, II, III, IV I, II, III, V I, II, IV, V I, III, IV, V II, III, IV, V O Java proíbe o uso de construtores genéricos e métodos estáticos em classes genéricas. Pergunta 9 Resposta Selecionada: Na classe Boletim, um professor pode tanto inserir uma nota ao aluno, quanto consultar sua nota. Mas o aluno pode, apenas, consultar sua nota. Escolha a opção que representa a situação acima, levando em consideração o conceito de encapsulamento: 0 em 1 pontos 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 7/9 a. Respostas: a. b. public class Boletim { float nota; public void setNota (float nota) { this.nota = nota; } public float getNota () { return nota; } } public class Boletim { float nota; public void setNota (float nota) { this.nota = nota; } public float getNota () { return nota; } } public class Boletim { private float nota; public void setNota (float nota) { nota = nota; } public double getNota () { return nota; } } 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 8/9 c. d. e. Comentário da resposta: public class Boletim { private float nota; public void setNota (float nota) { this.nota = nota; } public float getNota () { return this.nota; } } public class Boletim { private float nota; public void getNota (float nota) { this.nota = nota; } public float setNota () { return nota; } } public class Boletim { public float nota; public void setNota (float nota) { this.nota = nota; } public float getNota () { return this.nota; } } O trecho de código está de acordo com os conceitos de encapsulamento e manipulação de dados por meio dos métodos get e set. Pergunta 10 O paradigma orientado a objetos revolucionou a forma como desenvolvemos software, no sentido de que a linguagem de programação 1 em 1 pontos 15/09/2021 18:47 Revisar envio do teste: Clique aqui para iniciar o Quiz &ndash... file:///C:/Users/roberto/Desktop/Revisar envio do teste_ Clique aqui para iniciar o Quiz &ndash....html 9/9 Quarta-feira, 15 de Setembro de 2021 18h39min46s BRT Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: está muito mais próxima da linguagem humana, onde o objeto é o elemento principal desse paradigma e pode significar qualquer “coisa” do mundo real. Verifique as afirmações abaixo: I. Reúso de código; II. Segurança, devido ao encapsulamento de dados; III. Facilidade de desenvolvimento e manutenibilidade; IV. Estrutura de sequência, decisão e iteração. Pensando nos maiores benefícios da utilização de uma linguagem orientada a objetos, indique quais afirmações são corretas. I, II e III I, II e IV Somente IV II e III I, II e III I e II As estruturas de sequência, decisão e iteração são características do paradigma Estruturado. Todas as outras afirmações são benefícios da orientação a objetos. ← OK javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_7240509_1&course_id=_163555_1&nolaunch_after_review=true'); Revisar envio do teste: Clique aqui para iniciar o Quiz STADCAS3DA_2103-2103-686284 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Quiz REVISAR ENVIO DO TESTE: CLIQUE AQUI PARA INICIAR O QUIZ Usuário KALINKA DURCO DOS REIS Curso 2103-PROGRAMAÇÃO ORIENTADA A OBJETOS Teste Clique aqui para iniciar o Quiz Iniciado 16/09/21 10:43 Enviado 16/09/21 10:58 Data de vencimento 20/09/21 23:59 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 14 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: A forma mais segura e adequada de manipular variáveis na programação orientada a objetos é utilizando os métodos de acesso e os métodos modificadores. Quais comandos demonstram esses métodos, respectivamente? Get e set. Get e set. Construtor e main. Set e get. Main e get. Construtor e set. Os métodos de acesso são também conhecidos como get e os métodos modificadores são também conhecidos como set. Pergunta 2 Sala de Aula Tutoriais 1 em 1 pontos 1 em 1 pontos KALINKA DURCO DOS REIS 55 https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_163555_1 https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_163555_1&content_id=_7240509_1&mode=reset https://www.ead.senac.br/ https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_193_1 https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1 https://senacsp.blackboard.com/webapps/login/?action=logout Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: O paradigma orientado a objetos revolucionou a forma como desenvolvemos software, no sentido de que a linguagem de programação está muito mais próxima da linguagem humana, onde o objeto é o elemento principal desse paradigma e pode significar qualquer “coisa” do mundo real. Verifique as afirmações abaixo: I. Reúso de código; II. Segurança, devido ao encapsulamento de dados; III. Facilidade de desenvolvimento e manutenibilidade; IV. Estrutura de sequência, decisão e iteração. Pensando nos maiores benefícios da utilização de uma linguagem orientada a objetos, indique quais afirmações são corretas. I, II e III I, II e IV Somente IV II e III I, II e III I e II As estruturas de sequência, decisão e iteração são características do paradigma Estruturado. Todas as outras afirmações são benefícios da orientação a objetos. Pergunta 3 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: 1 em 1 pontos Resposta Selecionada: a. 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 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 4 Resposta Selecionada: c. Respostas: a. b. c. d. O paradigma orientado a objetos possui inúmeros conceitos que o caracteriza. Indique a alternativa correta que representa os principais elementos componentes 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. 1 em 1 pontos e. Comentário da resposta: 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 5 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 6 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. 1 em 1 pontos 1 em 1 pontos Pergunta 7 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Uma interface, no contexto de desenvolvimento de sistemas orientados a objetos, pode ser interpretada como um dispositivo de fronteira, pois define a maneira de comunicação entre duas entidades e a abstração de fronteira pode ser entendida como uma forma de interação da entidade com o mundo exterior. De acordo com a linguagem Java, analise as afirmativas a respeito de interfaces. I. As interfaces são classes abstratas, completamente não implementadas. II. A classe que implementa uma interface precisa fornecer uma implementação para todos os métodos na interface. III. Para que uma determinada classe seja vista como uma implementação de uma interface na linguagem Java, faz-se necessário indicar na declaração da classe a palavra reservada Extends. IV. Uma classe pode implementar apenas uma interface para evitar a herança múltipla, pois é de difícil implementação na linguagem Java. I e II. I e IV. II e III I e II. II e IV. I e III. Toda vez que uma classe implementa uma interface, é necessário preencher as informações lógicas dos métodos, sendo assim todos os métodos de uma interface devem ser implementados. Pergunta 8 Resposta Selecionada: e. Respostas: a. b. c. d. e. Comentário da 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. 1 em 1 pontos 1 em 1 pontos resposta: Uma interface é implementada por um objeto/classe, portanto utiliza-se a palavra reservada implements. Pergunta 9 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: 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, IV, V I, II, III, IV I, II, III, V I, II, IV, V I, III, IV, V II, III, IV, V O Java proíbe o uso de construtores genéricos e métodos estáticos em classes genéricas. Pergunta 10 Resposta Selecionada: b. Respostas: a. b. 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”); 1 em 1 pontos 1 em 1 pontos Quinta-feira, 16 de Setembro de 2021 10h58min11s BRT c. d. e. Comentário da resposta: Aluno(7.3, “João”); Aluno.A(João, 7); Aluno(“João”, 7); 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 (.) ← OK javascript:launch('/webapps/blackboard/content/listContent.jsp?content_id=_7240509_1&course_id=_163555_1&nolaunch_after_review=true');
Compartilhar