Prévia do material em texto
Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A Avaliação Virtual (AV) é composta por questões objetivas e corresponde a 100% da média final. Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas. Você pode responder as questões consultando o material de estudos, mas lembre-se de cumprir o prazo estabelecido. Boa prova! Parte superior do formulário 1) Os paradigmas de programação surgem com a evolução das linguagens e com a gradativa evolução de hardware e aumento da complexidade de problemas que podem ser resolvidos por meio dos computadores. Sobre o surgimento do paradigma da programação orientada a objetos, assinale a alternativa correta. Alternativas: · A linguagem Java introduziu os conceitos de classe, herança, subclasses e métodos virtuais. · Os primeiros paradigmas de programação foram os funcionais e orientados a objetos, utilizados na área de Exatas no contexto da Máquina de Turing e cálculo lambda. · Uma linguagem considerada top-down terá a sua execução realizada de baixo para cima. · O conceito de orientação a objetos estava voltado à representação de objetos reais por meio de um paradigma de programação. checkCORRETO · Uma linguagem bottom-up terá sua execução e definição realizada de cima para baixo. Resolução comentada: O conceito de orientação a objetos estava voltado à representação de objetos reais por meio de um paradigma de programação. Código da questão: 76848 2) Em Java, a organização do código e dos elementos, considerando a orientação a objetos, permite e facilita o reuso. O trecho de código a seguir apresenta uma classe de um programa que soma números: 1 package br.com.tema3.operacoesbasicas; 2 3 import javax.swing.JOptionPane; 4 5 public class SomarSubtrair { 6 7 public void SomarESubtrair() { 8 Somar s = new Somar(1); 9 JOptionPane.showMessageDialog(null, "O valor da soma de dois doubles é: " + s.somarDoisDoubles(2.4, 2.6)); 10 } 11 12 } Considerando o código apresentado e as especificidades da orientação a objetos, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) A linha 7 apresenta um método público que não recebe parâmetros. Logo, poderá ser chamado por meio da instanciação de um objeto da classe. ( ) Considerando a linha 1, podemos identificar que há a importação de uma biblioteca Java chamada operacoesbasicas. ( ) O método somarDoisDoubles(), na linha 9, é um método que está declarado na classe Somar, instanciado na variável de referência "s". ( ) O JOptionPane pode ser utilizado na classe SomarSubtrair, porque foi devidamente importado na linha 3 do seu respectivo pacote do Swing. ( ) O método construtor para criar um objeto do tipo Somar não recebe parâmetros. Assinale a alternativa que contenha a sequência correta. Alternativas: · V – F – V – V – F. checkCORRETO · V – V – F – V – F. · V – F – V – F – V. · F – V – F – V – F. · F – V – V – F – V. Resolução comentada: A primeira, a terceira e a penúltima afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Segunda afirmativa: considerando a linha 1, podemos identificar que a classe está mantida no pacote operações basicas. Quinta afirmativa: o método construtor para criar um objeto do tipo Somar recebe um parâmetro. Código da questão: 76860 3) O paradigma orientado a objetos utiliza conceitos do mundo real para serem transcritos via linguagens de programação. Um _________ é uma entidade do mundo real (concreto ou abstrato) que pode ser descrita por meio de características e _________ e que pode realizar _________, ou possuir determinados comportamentos. Deste modo, um objeto, em OO, é representado por meio de _________ e por _________. Assinale a alternativa que completa adequadamente as lacunas. Alternativas: · Objeto; atributos; métodos; estados; ações. · Objeto; estados; atributos; ações; métodos. · Objeto; estados; ações; atributos; métodos. checkCORRETO · Objeto; atributos; ações; estados; métodos. · Objeto; métodos; ações; atributos; estados. Resolução comentada: Um objeto é uma entidade do mundo real (concreto ou abstrato) que pode ser descrita por meio de características e estados e que pode realizar ações, ou possuir determinados comportamentos. Deste modo, um objeto, em OO é representado por meio de atributos e por métodos. Código da questão: 76849 4) Os objetos são compostos por atributos e métodos, e esses são instanciados das classes. As especificações de tais elementos nas classes utilizam-se do encapsulamento para garantir controle sobre o que pode ou não ser acessado por outros objetos e classes. Sobre as classes, os objetos e seus elementos no contexto do encapsulamento, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) O encapsulamento ocorre a nível de atributos e métodos. ( ) Um método encapsulado como privado só poderá ser acessado internamente pela classe que possui sua declaração. ( ) Atributos encapsulados podem ser modificados ou terem o seu valor apresentado por meio dos métodos públicos chamados set e get, respectivamente. ( ) Encapsular elementos em OO permite controlar o que será e o que não será acessível pelos usuários finais. ( ) O encapsulamento com protected permitirá que elementos assim encapsulados possam ser acessados pela classe filha sem o uso da palavra super. Assinale a alternativa que contenha a sequência correta. Alternativas: · V – F – V – F – V. · V – V – F – V – F. · V – F – V – V – F. · F – V – F – V – F. · F – V – V – F – V. checkCORRETO Resolução comentada: A segunda, a terceira e a última afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Primeira afirmativa: o encapsulamento ocorre a nível de atributos, classes e métodos. Quarta afirmativa: encapsular elementos em OO permite controlar o que será e o que não será acessível pelos elementos do código, como classes e objetos. Código da questão: 76855 5) O encapsulamento garante que classes, seus atributos e seus métodos estejam restritos e não serão alterados por qualquer entidade do código. Considerando que em determinados momentos da execução o acesso deve ser realizado, existem os modificadores de acesso. Sobre os modificadores de acesso e sua relação com o encapsulamento de elementos de código OO, analise as afirmativas a seguir: I. Quando um atributo tiver o seu modificador de acesso indicado para private, serão necessários métodos públicos (get e set) para obter e alterar seus valores respectivamente. II. A modificação de acesso entre pacotes é importante para garantir a separação de possíveis modificações de valores dos estados por objetos que não pertençam a tal pacote. III. O modificador de acesso mais restrito é o private, enquanto o modificador de acesso menos restrito é o default. IV. Para que um elemento tenha sua restrição mantida a apenas o nível de classe para pacotes diferentes, é necessário utilizar o modificador de acesso protected, default ou private. V. Para que o nível de acesso fique restrito às classes filhas em pacotes diferentes, faz-se necessário utilizar os modificadores de acesso protected ou default. Assinale a alternativa que apresenta corretamente quais afirmativas são corretas. Alternativas: · III e V, apenas. · I, II e IV, apenas. checkCORRETO · III, IV e V, apenas. · I, III e IV, apenas. · I e II, apenas. Resolução comentada: A I é correta, pois, quando um atributo tiver o seu modificador de acesso indicado para private, serão necessários métodos públicos (get e set) para obter e alterar seus valores, respectivamente. A II é correta, pois a modificação de acesso entre pacotes é importante para garantir a separação de possíveis modificações de valores dos estados por objetos que não pertençam a tal pacote. A III é incorreta, pois o modificador de acesso mais restrito é o private, enquanto o modificador de acesso menos restrito é o public. A IV é correta, pois, para que um elemento tenhasua restrição mantida a apenas o nível de classe para pacotes diferentes, é necessário utilizar o modificador de acesso protected, default ou private. A V é incorreta, pois, para que o nível de acesso fique restrito às classes filhas em pacotes diferentes, faz-se necessário utilizar os modificadores de acesso default ou private. Código da questão: 76852 6) Em Java, temos diversos pacotes que nos auxiliam no desenvolvimento. Dentre eles, temos dois pacotes específicos para a criação de interfaces gráficas de usuário. Sobre o pacote AWT e Swing, assinale a alternativa correta. Alternativas: · Os componentes do AWT possuem a identificação dos seus componentes com a letra J, por exemplo, JButton. · O Swing traz melhorias de desempenho nos componentes para criação de interfaces gráficas. checkCORRETO · O pacote Swing possui um pacote específico para tratar do evento em seus componentes; este pacote é o Swing Events. · O uso de interfaces Java com Swing não é recomendado, pois deixa a aplicação lenta. · O pacote Swing é uma evolução do pacote AWT, porém o AWT é mais indicado para adoção no desenvolvimento. Resolução comentada: O pacote Swing é o mais indicado para uso, como substituição ao AWT, por ser a evolução dele e, assim, traz algumas melhorias. Os componentes do Swing são identificados com a letra J para se diferenciarem dos componentes do AWT, logo um JButton é um componente do Swing, e um Button é componente do AWT. Apesar de o Swing ser a evolução do AWT, o palco de eventos que é utilizado é o do AWT (AWT Events) e, considerando a evolução de Java, para construir qualquer aplicação com interfaces, o Swing é o mais indicado, tendo bom desempenho. Código da questão: 76863 7) Há diversos padrões que devemos seguir para a criação de código legível. Em Java, a atribuição de nomes aos diferentes elementos auxilia na leitura e identificação deles. O _________ é um padrão para a nomeação de elementos em nível de _________ em OO, que corresponde à prática de escrever palavras compostas, em que cada palavra concatenada à outra será escrita com letra maiúscula. No caso dos _________, inicia-se com letra minúscula, e as demais palavras iniciarão com letra maiúscula. Esse padrão também é aplicado a _________. Já para as _________, seus nomes são escritos sempre com letra maiúscula, e as demais palavras concatenadas serão escritas com letra maiúscula. Assinale a alternativa que completa adequadamente as lacunas. Alternativas: · Código; CamelCase; métodos; classes; atributos. · CamelCase; código; atributos; métodos; classes. · CamelCase; código; métodos; atributos; classes. checkCORRETO · Código; CamelCase; métodos; atributos; classes. · Código; CamelCase; atributos; métodos; classes. Resolução comentada: O CamelCase é um padrão para a nomeação de elementos em nível de código em OO, que corresponde à prática de escrever palavras compostas, em que cada palavra concatenada à outra será escrita com letra maiúscula. No caso dos métodos, inicia-se com letra minúscula, e as demais palavras iniciarão com letra maiúscula. Este padrão também é aplicado a atributos. Já para as classes, seus nomes são escritos sempre com letra maiúscula, e as demais palavras concatenadas serão escritas com letra maiúscula. Código da questão: 76854 8) A herança e o encapsulamento garantem a interação entre as classes e os objetos, sendo pilares fundamentais para a orientação a objetos. Sobre tais conceitos e os trechos de código que apresentam tais pilares, analise as afirmativas a seguir: I. O código “public abstract class Aspirador {” nos indica que a classe é abstrata, logo ela não permite que um objeto seja instanciado por meio do método construtor e da palavra reservada new. II. Um atributo, como o presente no código “private String modelo;”, está encapsulado e só poderá ter seu valor alterado ou retornado utilizando-se dos métodos get e set. No caso, por padrão, os métodos seriam “getString()” e “setString(), respectivamente. III. A assinatura do método “public abstract boolean verificarBateria();” indica que ele é abstrato e deverá ser implementado, por sobrescrita (polimorfismo), nas subclasses que estenderem a superclasse em que tal declaração foi codificada. IV. Para que uma subclasse herde as características de uma superclasse, é necessário que ela estenda a classe pai. Logo, o código “public class Vertical extends Aspirador {” indica que a classe Vertical estende a classe Aspirador, existindo, portanto, herança entre elas. V. Um método privado pode ser chamado por qualquer classe ou objeto, desde que estejam no mesmo pacote, como é o caso desta declaração: “private boolean verificarBateria() {”. Assinale a alternativa que apresenta corretamente quais afirmativas são corretas. Alternativas: · I, III e IV, apenas. checkCORRETO · III, IV e V, apenas. · III e V, apenas. · I e II, apenas. · I, II e IV, apenas. Resolução comentada: A I é correta, pois o código “public abstract class Aspirador {” nos indica que a classe é abstrata, logo ela não permite que um objeto seja instanciado por meio do método construtor e da palavra reservada new. A II é incorreta, pois um atributo, como o presente no código “private String modelo;”, está encapsulado e só poderá ter seu valor alterado ou retornado utilizando-se dos métodos get e set, porém, no caso, os métodos não seriam “getString()” e “setString(), e sim “getModelo()” e “setModelo()”, respectivamente. A III é correta, pois a assinatura do método “public abstract boolean verificarBateria();” indica que ele é abstrato e deverá ser implementado, por sobrescrita (polimorfismo), nas subclasses que estenderem a superclasse em que tal declaração foi codificada. A IV é correta, pois, para que uma subclasse herde as características de uma superclasse, é necessário que ela estenda a classe pai. Logo, o código “public class Vertical extends Aspirador {” indica que a classe Vertical estende a classe Aspirador, existindo, portanto, herança entre elas. A V é incorreta, pois um método privado só pode ser chamado internamente na classe onde foi declarado, como é o caso desta declaração: “private boolean verificarBateria() {”. Código da questão: 76857 9) A herança é um dos quatro pilares da orientação a objetos, juntamente com o polimorfismo. Ambos os pilares acabam se relacionando, visto que é por meio da herança que o polimorfismo de sobrescrita acaba sendo realizado. Leia e associe as informações indicadas por letras e números, conforme os conceitos relacionados a orientação a objetos, herança e polimorfismo. Assinale a alternativa que traz a associação correta entre as duas listas: Alternativas: · I – C; II – A; III – B. · I – B; II – C; III – A. · I – C; II – B; III – A. · I – A; II – B; III – C. · I – B; II – A; III – C. checkCORRETO Resolução comentada: A correta associação é: I – B: Sobrescrita de método corresponde à alteração do comportamento da ação de um objeto. II – A: Especialização e generalização correspondem à relação de herança entre uma classe pai e uma classe filha. III – C: Sobrecarga de método corresponde à reutilização de uma ação, que pode ser replicada para diversas ações, desde que os parâmetros sejam únicos para cada uma delas. Código da questão: 76851 10) Os objetos são compostos por atributos e métodos e esses são instanciados das classes. Sobre as classes, os objetos e seus elementos, analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso): ( ) Uma classe serve de "molde" para a instanciação de objetos que compartilham características e ações semelhantes. ( ) A classe possuirá um conjunto de atributos e métodos que, ao ser utilizada como molde, possibilitará a instanciação de objetos que não possuem tais atributos e métodos. ( ) Um objeto é uma instância, ou seja, a definição de um objeto por meio da especificação de seus atributos e métodos. ( ) A abstração é o conceito no qual os objetos do mundo real são representados por meio de objetos instanciados de classes. ( ) Os atributos correspondem às características, aos estados ou às propriedadesde um objeto, como cor, dimensões etc. Já um método representa ações ou comportamentos que uma classe realiza. Assinale a alternativa que contenha a sequência correta. Alternativas: · V – F – V – F – V. · F – V – V – F – V. · F – V – F – V – F. · V – F – V – V – F. checkCORRETO · V – V – F – V – F. Resolução comentada: A primeira, a terceira e a penúltima afirmativas são verdadeiras. Veja a forma correta das afirmativas falsas: Segunda afirmativa: a classe possuirá um conjunto de atributos e métodos que, ao ser utilizada como molde, possibilitará a instanciação de objetos que possuem tais atributos e métodos. Quinta afirmativa: os atributos correspondem às características, aos estados ou às propriedades de um objeto, como cor, dimensões etc. Já um método representa ações ou comportamentos que um objeto realiza. Código da questão: 76850 Parte inferior do formulário