Prévia do material em texto
03/12/2023, 13:33 Avaliação II - Individual about:blank 1/8 Prova Impressa GABARITO | Avaliação II - Individual (Cod.:825701) Peso da Avaliação 1,50 Prova 66141282 Qtd. de Questões 10 Acertos/Erros 6/3 Canceladas 1 Nota 7,00 Atenção: Esta questão foi cancelada, porém a pontuação foi considerada. O polimorfismo é um mecanismo poderoso da programação orientada a objetos, pois permite que se adicionem novas funcionalidades a um software sem alterar partes desse mesmo software que já estejam funcionando. Com relação ao polimorfismo, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O polimorfismo de sobreposição consiste na colocação de novos parâmetros em outro método que possua o mesmo nome de um método já existente. ( ) O polimorfismo paramétrico é altamente dependente da linguagem de programação, por este motivo nem todas as linguagens de programação orientadas a objetos o implementam. ( ) A sobrecarga permite redefinir completamente um método, substituindo-o nas classes que fizerem uso deste tipo de polimorfismo. ( ) As interfaces são uma maneira eficiente de implementar o polimorfismo. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - V. B V - F - F - V. C F - V - F - V. D V - V - V - F. Java é uma linguagem de programação interpretada orientada a objetos desenvolvida na década de 90 por uma equipe de programadores. Observe a figura anexa que ilustra uma situação típica em que podemos aplicar o conceito de herança de classes em Java. Considerando os conceitos de programação orientada a objetos, analise as sentenças a seguir: I- A classe FormaGeometrica, indicada pela letra A, é considerada a superclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- O método enfatizado pela letra C, calcularArea(), está sobrescrevendo a implementação da superclasse de Triangulo. IV- A classe FormaGeometrica também é conhecida na linguagem Java como JGF. VOLTAR A+ Alterar modo de visualização 1 2 03/12/2023, 13:33 Avaliação II - Individual about:blank 2/8 Agora, assinale a alternativa CORRETA: A As sentenças II e IV estão corretas. B Somente a sentença III está correta. C As sentenças I, II e III estão corretas. D As sentenças I e IV estão corretas. Quando uma classe herda de outra, ela herda implementação, atributos e comportamento. Isso significa que todos os métodos e atributos disponíveis na interface externa da classe mãe estarão também na interface externa da filha (SINTES, 2002). Uma classe construída através de herança pode ter tipos importantes de métodos e atributos. FONTE: SINTES, Anthony. Aprenda programação orientada a objetos em 21 dias. Tradução João Eduardo Nóbrega Tortello. São Paulo: Pearson Education do Brasil, 2002. Sobre os tipos de métodos e atributos, assinale a alternativa INCORRETA: A Replicado. 3 03/12/2023, 13:33 Avaliação II - Individual about:blank 3/8 B Sobreposto. C Recursivo. D Novo. As classes abstratas são as que não permitem realizar qualquer tipo de instância. São classes feitas especialmente para serem modelos para suas classes derivadas. As classes derivadas, via de regra, deverão sobrescrever os métodos para realizar a implementação dos mesmos. As classes derivadas das classes abstratas são conhecidas como classes concretas. As classes abstratas têm ainda uma importante função, que é permitir a utilização de métodos abstratos. Os métodos abstratos são uma das formas de se implementar o polimorfismo. Sobre os métodos abstratos, analise as sentenças a seguir: I – Um método abstrato não tem corpo, somente sua assinatura. II – Métodos abstratos somente podem ser definidos em classes abstratas. III – Uma classe abstrata pode ter quantos métodos concretos (não abstratos) e abstratos forem necessários. IV – Os objetos são derivados de método que estão sendo sobrescrito ou sobreposto. V – Métodos derivados somente podem ser definidos em classes principais. Assinale a alternativa CORRETA: A As sentenças I, II e III estão corretas. B As sentenças I, III e IV estão corretas. C As sentenças I e IV estão corretas. 4 03/12/2023, 13:33 Avaliação II - Individual about:blank 4/8 D As sentenças II e V estão corretas. O conceito de classes abstrata, através de suas características especiais, fornece ao conceito de herança uma maior confiabilidade uma vez que as classes modeladas com herança precisam ser melhor idealizadas e projetadas. Dessa forma, avalie o código-fonte da classe Atleta, a seguir, e classifique V para as sentenças verdadeiras e F para as falsas: package fontes; public class Atleta{ private int pais; private String modalidade; private boolean medalistaOlimpico; public abstract void competir(String modalidade) { System.out.println("É especialista em " + modalidade); } public void competirPor(int pais){ System.out.println("O atleta compete por " + pais); } } ( ) A classe em questão não apresenta problemas de sintaxe. ( ) O método competirPor(int pais) está gerando erro de sintaxe e usa incorretamente a palavra- chave void. ( ) O método competirPor(int pais) possui um retorno de tipo definido. ( ) O método "competir(String modalidade)" não gera erro de sintaxe e usa a palavra-chave abstract corretamente. Assinale a alternativa que apresenta a sequência CORRETA: A V - F - V - V. B F - F - F - F. C F - F - V - V. D V - V - V - V. A utilização do recurso de Pacotes em Java permite uma melhor organização do código-fonte, além de permitir que duas ou mais classes tenham o mesmo nome em pacotes diferentes. Juntamente com eles, o uso dos modificadores de visibilidade compõe uma fórmula poderosa no tocante à definição de segurança e encapsulamento de um programa ou aplicação. Sobre a utilização de modificadores de visibilidade na linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) O modificador "default", aplicado para uma classe, permite o acesso a essa classe por uma classe de outro pacote através do comando import. 5 6 03/12/2023, 13:33 Avaliação II - Individual about:blank 5/8 ( ) O modificador "default", definido para um método contido em uma classe pública, impede que o método seja acessado por outra classe criada em outro pacote. ( ) O modificador "private", definido para um método contido em uma classe com o modificador "default", não impede que o método seja acessado por outra classe criada no mesmo pacote. ( ) O modificador "public", definido para um método contido em uma classe pública, elimina qualquer tipo de restrição de acesso ao método, mesmo que ele seja acessado em uma classe criada em outro pacote. Assinale a alternativa que apresenta a sequência CORRETA: A F - F - F - F. B V - F - F - V. C F - V - F - V. D V - V - V - F. Em Orientação a Objetos, para que uma subclasse de uma classe possa ter seu próprio comportamento, e mesmo assim compartilhar algumas das funcionalidades da classe pai, deve-se implementar um método. Qual é esse método? A Abstração. B Polimorfismo. C Composição. D Agregação. Os modificadores de acesso são palavras reservadas da linguagem de programação Java e definem os padrões de visibilidade de acesso às classes, aos atributos e aos métodos. Por intermédio dos modificadores de acesso, é possível ocultar determinadas partes do código, dividindo o programa em partes menores e independentes e esta ação, de ocultar e/ou dividir, é conhecida como encapsulamento Acerca do conceito de encapsulamento e dos modificadores de acesso da linguagem de programação Java, analise as afirmativas a seguir: I- Uma declaração com o modificador "public" permite o acesso de qualquer lugar do projeto Java e por qualquer entidade que possa visualizar a classe a que ela pertença. II- Os membros de uma classe declarados com o modificador "protected" não podem ser acessados ou utilizadospor nenhuma outra classe. III- Métodos declarados como "default" só podem ser acessados a partir dos métodos da própria 7 8 03/12/2023, 13:33 Avaliação II - Individual about:blank 6/8 classe. IV- O Java define quatro modificadores de visibilidade: "private", "public", "protected" e "default". Agora, assinale a alternativa CORRETA: A As afirmativas I e IV estão corretas. B Somente a afirmativa I está correta. C As afirmativas II e III estão corretas. D As afirmativas II, III e IV estão corretas. O polimorfismo é implementado de muitas formas dentro da linguagem de programação Java, sendo que uma das mais utilizadas é a criação e a implementação de interfaces. Considerando a criação e a utilização de interfaces dentro da linguagem de programação Java, analise o código fonte da figura a seguir e classifique V para as sentenças verdadeiras e F para as falsas: ( ) A classe SHA faz a sobrecarga do método encript() nas linhas 8 a 12. ( ) O método encript() faz parte de uma interface chamada IAlgoritmoCriptografia. ( ) Se a classe SHA fosse abstrata, ela não poderia fornecer implementação para o método gerarChaveCripto(Date data). ( ) Um vetor de IAlgoritmoCriptografia não pode conter um objeto do tipo SHA. Agora, assinale a alternativa que apresenta a sequência CORRETA: A V - V - F - F. B V - V - F - V. C F - V - F - F. D V - F - V - V. 9 03/12/2023, 13:33 Avaliação II - Individual about:blank 7/8 Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura), mas comportamentos distintos, especializados para cada classe derivada, usando para tanto uma referência a um objeto do tipo da superclasse. Sobre um exemplo de polimorfismo, assinale a alternativa CORRETA: A B Todas estão corretas! C 10 03/12/2023, 13:33 Avaliação II - Individual about:blank 8/8 D Imprimir