Prévia do material em texto
Disciplina: Programação Orientada a Objetos Avaliação: Avaliação II - Individual FLEX Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada 1. 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 subclasse das classes contidas na área indicada pela letra B. II- Quadrado é uma classe filha da classe FormaGeometrica. III- A classe Triangulo tem como superclasse a classe FormaGeometrica. Agora, assinale a alternativa CORRETA: a) As sentenças I e III estão corretas. b) As sentenças II e III estão corretas. c) Somente a sentença I está correta. d) As sentenças I e II estão corretas. https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_1%20aria-label= 2. 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 - F - V - V. b) F - V - F - F. c) V - V - F - V. d) V - V - F - F. 3. A linguagem de programação Java permite a definição de classes abstratas, que representam ferramentas poderosas na definição de relacionamentos de herança e, consequente, reutilização e extensão de estado e comportamento. Com relação às classes abstratas da linguagem de programação Java, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Uma classe abstrata somente pode ser instanciada a partir de um construtor abstrato. ( ) Uma classe abstrata não pode possuir métodos concretos. ( ) Os métodos concretos de uma classe abstrata podem ser reutilizados, sem alteração em suas subclasses. ( ) Em uma hierarquia de herança, a primeira classe abstrata deve prover implementação para os métodos abstratos. Agora, assinale a alternativa que apresenta a sequência CORRETA: https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_2%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_3%20aria-label= a) V - F - F - V. b) F - F - V - F. c) V - V - F - V. d) V - V - F - F. 4. Por intermédio da herança, um dos pilares da programação orientada a objetos, é possível reaproveitarmos características e comportamentos já implementados em outras classes sem a necessidade de realizar a cópia de código-fonte. Com relação a esse conceito, classifique V para as sentenças verdadeiras e F para as falsas: ( ) Em uma superclasse, para acessar métodos da subclasse deve ser usada a instrução super. ( ) A implementação de herança múltipla em Java não é possível. ( ) Para definirmos um relacionamento de herança entre classes utilizamos a palavra reservada "derives". ( ) Uma subclasse herda os métodos da superclasse, entretanto, pode ter seus próprios métodos. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - V - V - F. b) F - F - V - V. c) V - F - F - V. d) F - V - F - V. 5. Programação é o processo de escrita, teste e manutenção de um programa de computador. A Programação Orientada a Objetos (POO) diz respeito a um padrão de desenvolvimento que é seguido por muitas linguagens, como C# e Java. Com relação aos conceitos de programação orientada a objetos e sua implementação na linguagem Java, analise as afirmativas a seguir: I- Classes abstratas servem como modelo para outras classes que dela herdam e devem ser instanciadas utilizando a palavra reservada "new". II- Todas as classes em Java herdam, direta ou indiretamente, a classe Object. III- Interfaces podem ser utilizadas quando classes diferentes (não relacionadas) precisam de funcionalidades comuns (métodos) ou utilizam constantes comuns. IV- Na linguagem Java, é possível haver polimorfismo por meio da implementação de herança entre classes. Agora, assinale a alternativa CORRETA: a) As afirmativas I e III estão corretas. b) As afirmativas II, III e IV estão corretas. c) As afirmativas I e IV estão corretas. d) Somente a afirmativa II está correta. 6. O Polimorfismo de inclusão permite que se defina um novo comportamento para um objeto sem que se faça alterações nos que já estão funcionando, minimizando consideravelmente os custos e reduzindo o tempo para novas implementações. Considerando que a figura a seguir traz duas classes relacionadas a uma interface, classifique V para as sentenças verdadeiras e F para as falsas: https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_4%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_5%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_6%20aria-label= ( ) O método encript() da interface é implicitamente abstrato. ( ) Na linguagem de programação Java, demonstraríamos que SHA implementa IAlgoritmoCriptografia através da palavra reservada extends. ( ) Um método existente em outra classe cuja assinatura seja ?public void criptografar(IAlgoritmoCriptografia iac)? pode receber como parâmetro tanto um objeto da classe SHA quanto um objeto da classe DES. ( ) Podemos dizer que tanto SHA quanto DES implementam IAlgoritmoCriptografia. Agora, assinale a alternativa que apresenta a sequência CORRETA: a) V - F - V - V. b) V - V - F - V. c) F - V - F - V. d) V - V - F - F. 7. A herança é um dos pilares da programação orientada a objetos e pode, quando bem utilizada, diminuir o esforço na manutenção do código fonte. Com relação ao relacionamento de herança entre duas ou mais classes, analise as sentenças a seguir: I- Através da herança, é possível reaproveitar atributos já definidos em uma classe mãe. II- Uma classe filha pode herdar de quantas superclasses quiser na linguagem de programação Java. III- Não é possível herdar a implementação de métodos, visto que todos devem ser reescritos através do polimorfismo. IV- A palavra inherits define a herança na linguagem de programação Java. Agora, assinale a alternativa CORRETA: a) As sentenças II e III estão corretas. b) Somente a sentença I está correta. c) Somente a sentença IV está correta. d) As sentenças I, II e IV estão corretas. 8. O encapsulamento é um dos pilares da programação orientada a objetos, e sua utilização de forma correta serve como embasamento paraos outros dois pilares: a herança e o polimorfismo. Com relação ao encapsulamento, assinale a alternativa CORRETA: https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_7%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_8%20aria-label= a) O encapsulamento permite que os objetos se comuniquem através de mais caminhos. b) O objetivo principal do encapsulamento é obter um alto acoplamento entre as classes. c) Através do encapsulamento, podemos proteger os valores internos dos objetos de acessos desnecessários. d) Para fazer uso do encapsulamento, basta modificarmos a visibilidade de nossos atributos. 9. Por intermédio da herança e do encapsulamento, é possível implementarmos o polimorfismo, mecanismo que permite que duas ou mais classes derivadas de uma mesma superclasse possam criar e/ou invocar métodos com a mesma assinatura, mas com comportamentos diferentes. Com relação ao conceito de polimorfismo e sua implementação na linguagem Java, analise as afirmativas a seguir: I- Polimorfismo de inclusão, polimorfismo paramétrico, sobreposição e sobrecarga são exemplos de tipos de polimorfismo. II- O Java não permite a implementação do polimorfismo paramétrico. III- A técnica de sobrecarga pode ser utilizada para distinguir, em uma determinada classe, dois métodos com o mesmo nome, o mesmo retorno e o mesmo conjunto de argumentos, mas com uma lógica diferente. IV- Na sobrecarga de métodos, é necessário utilizar a anotação @Override. Agora, assinale a alternativa CORRETA: a) Somente a afirmativa I está correta. b) As afirmativas II e IV estão corretas. c) As afirmativas II, III e IV estão corretas. d) As afirmativas I e IV estão corretas. 10. Através do encapsulamento, é possível deixar o software mais manutenível, através da centralização de responsabilidades, ocultação de implementação e exposição de interfaces. Com relação ao encapsulamento e sua implementação na linguagem de programação Java, analise as sentenças a seguir: I- Atributos também podem ser ocultados, no sentido de garantir um maior encapsulamento. II- O modificador default permite o acesso padrão a todos dentro da mesma aplicação. III- Quanto maior o acoplamento, maior a dependência entre os objetos e, consequentemente, mais difícil a manutenção do código fonte. IV- Tanto a coesão quanto o encapsulamento são obtidos na linguagem de programação Java através do modificador de acesso protected. Agora, assinale a alternativa CORRETA: a) Somente a sentença II está correta. b) As sentenças III e IV estão corretas. c) Somente a sentença IV está correta. d) As sentenças I e III estão corretas. Prova finalizada com 10 acertos e 0 questões erradas. https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_9%20aria-label= https://portaldoalunoead.uniasselvi.com.br/ava/notas/request_gabarito_n2.php?action1=RkxYMDUzOQ==&action2=QURTMTc=&action3=NTEzMzc5&action4=MjAyMC8x&prova=MjA0MjEwNzc=#questao_10%20aria-label=