Baixe o app para aproveitar ainda mais
Prévia do material em texto
Pergunta 1 1 em 1 pontos 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: Resposta Selecionada: c. Objeto, classe, construtores, encapsulamento e polimorfismo. Respostas: a. Classe, objeto, método, struct e árvore binária. b. Polimorfismo, construtores, atributos, objeto e ponteiro. c. Objeto, classe, construtores, encapsulamento e polimorfismo. d. Modularidade, objeto, classe, métodos e atributos. e. Classe, objeto, sequência, decisão e iteração. 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 2 1 em 1 pontos Em relação aos métodos e classes declarados como “final”, é correto afirmar que: Resposta Selecionada: d. os métodos declarados private não são implicitamente final; Respostas: a. um método declarado final em uma superclasse pode ser sobrescrito em uma subclasse; b. os métodos que são declarados static são implicitamente final; c. uma classe que é declarada final pode ser uma superclasse; d. os métodos declarados private não são implicitamente final; e. nenhum método em uma classe final é implicitamente final. Comentário da resposta: Como o método de privado é acessado apenas pela classe, não é permitido nenhuma sobrescrita dele. Portanto, ele é um método final. Pergunta 3 1 em 1 pontos 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()); Resposta Selecionada: d. 1 Null false Respostas: a. 0 0 0 b. 1 0 0 c. 1 Null true d. 1 Null false e. 0 Null false Comentário da resposta: 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 1 em 1 pontos 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? Resposta Selecionada: c. protected Respostas: a. public b. private c. protected d. internal e. void Comentário da resposta: O modificador de acesso protected age como um private, porém permite acesso das classes filhas aos seus dados. Pergunta 5 1 em 1 pontos 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: Resposta Selecionada: a. 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; Respostas: a. 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; b. 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; c. 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; d. 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; e. haverá um erro em tempo de compilação, assinalando ao programador a impossibilidade de a classe Formulario implementar simultaneamente as duas interfaces. Comentário da resposta: 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 6 1 em 1 pontos 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? Resposta Selecionada: e. implements. Respostas: a. extends. b. protected. c. interface. d. final. e. implements. Comentário da resposta: Uma interface é implementada por um objeto/classe, portanto utiliza-se a palavra reservada implements. Pergunta 7 1 em 1 pontos 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: Resposta Selecionada: d. Assinatura do método; Respostas: a. Polimorfismo Estático; b. Métodos Estáticos; c. Métodos Construtores; d. Assinatura do método; e. Encapsulamento do método. Comentário da resposta: 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 8 1 em 1 pontos 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árioindicar 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. Resposta Selecionada: c. I e II. Respostas: a. I e IV. b. II e III c. I e II. d. II e IV. e. I e III. Comentário da resposta: 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 9 1 em 1 pontos Qual o trecho de código que utiliza o recurso chamado generics da forma correta, ao criar uma lista de objetos da classe Discente? Resposta Selecionada: c. List<Discente>lstDiscente = new ArrayList<>(). Respostas: a. List<Discente>IstDiscente = new ArrayList(). b. List<> lstDiscente = new ArrayList<>(). c. List<Discente>lstDiscente = new ArrayList<>(). d. List lstDiscente = new ArrayList<Discente>(). Comentário da resposta: 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 1 em 1 pontos 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); } } Resposta Selecionada: a. 5 5 5 3. Respostas: a. 5 5 5 3. b. 9 3 5 3. c. 5 3 5 3. d. 3 5 9 3. e. 5 5 9 3. Comentário da resposta: Como q1 é um atributo estático, ao modificá-lo alteramos o valor para todas as instâncias da classe.
Compartilhar