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! 1)A biblioteca Swing disponibiliza vários componentes (classes e objetos), que são utilizados para a criação de interfaces gráficas de usuário. Sobre tais componentes, podemos identificar os que seguem: Assinale a alternativa que traz a associação correta entre as duas listas. Alternativas: • I – C; II – A; III – B. • I – B; II – A; III – C. • I – B; II – C; III – A.checkCORRETO • I – A; II – B; III – C. • I – C; II – B; III – A. Resolução comentada: A correta associação é: I – B: JTextField é um componente que permite a entrada ou a exibição de conteúdo textual, podendo estar ou não habilitado para edição ou modificação. II – C: JOptionPane é um componente que cria mecanismos de exibição de valores textuais ou numéricos por meio de uma interface semelhante aos pop-ups dos navegadores. III – A: JLabel é um componente que fornece a apresentação de textos ou informações em uma interface via texto. Código da questão: 76866 2)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: • I, II e IV, apenas.checkCORRETO • III e V, apenas. • I, III e IV, apenas. • I e II, apenas. • III, IV e V, 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 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. 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 3)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 propriedades de 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. • V – V – F – V – F. • F – V – F – V – F. • F – V – V – F – V. • V – F – V – V – F.checkCORRETO 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 4)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, II e IV, apenas. • III, IV e V, apenas. • I e II, apenas. • I, III e IV, apenas.checkCORRETO • III e V, 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çãofoi 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 5)A orientação a objetos envolve diversos conceitos. Dentre eles, destacam-se quatro pilares, os quais se complementam: abstração, herança, encapsulamento e polimorfismo. Sobre o conceito de abstração na programação orientada a objetos, assinale a alternativa correta. Alternativas: • O ato de abstrair algo é a ação ou o efeito de integrar algo de um todo, para considerá-lo globalmente. • A abstração nos leva a pensar no contexto de dividir para conquistar, já que muitas especificidades podem ser trabalhadas de modo global. • Em OO, a representação de um objeto no mundo real se deve ao conceito de herança, e não ao conceito de abstração. • A abstração em OO nos permite representar um objeto, ocultando seus dados ou suas propriedades internas, bem como sua implementação do mundo externo.checkCORRETO • Abstração é criar algo que, no mundo real, não existe, algo não tangível, ou seja, fictício. Resolução comentada: A abstração em OO nos permite representar um objeto, ocultando seus dados ou suas propriedades internas, bem como sua implementação do mundo externo, sendo, portanto, capaz de representar um objeto do mundo real para uma aplicação a ser utilizada por usuários. Código da questão: 76853 6)A orientação a objetos envolve diversos conceitos. Dentre eles, destacam-se quatro pilares, os quais se complementam: abstração, herança, encapsulamento e polimorfismo. Sobre o conceito de encapsulamento na programação orientada a objetos, assinale a alternativa correta. Alternativas: • O encapsulamento garante restrições de acesso às variáveis e aos atributos, não sendo aplicado aos métodos. • O encapsulamento é definido por alguns autores como a acessibilidade, já que permitirá tornar ou não os elementos restritos em uma classe, ou até ela inteira.checkCORRETO • Comumente, os métodos são declarados com o modificador de acesso private e os atributos public. • Os métodos gets e sets permitem que apenas a classe altere as informações dos atributos, sendo necessária a implementação de outros tipos de métodos para classes externas alterarem os mesmos. • O termo encapsulamento é chamado de data hiking em inglês. Resolução comentada: O termo encapsulamento é chamado de data hidding em inglês, e é definido por alguns autores como acessibilidade. O encapsulamento garante restrições de acesso para atributos, variáveis, métodos e classes. Comumente, os métodos são declarados como public – com exceção de métodos específicos a serem utilizados somente pela classe em questão –, e os atributos são declarados como privados. Deste modo, os métodos gets e sets são declarados públicos para que outras classes possam alterar seus valores. Código da questão: 76858 7)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; estados; atributos; ações; métodos. • Objeto; atributos; métodos; estados; ações. • Objeto; estados; ações; atributos; métodos.checkCORRETO • Objeto; métodos; ações; atributos; estados. • Objeto; atributos; ações; estados; métodos. 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 8)Para execução de um programa em Java, precisamos do método main e a instanciação de objetos. Leia e associe as informações indicadas por letras e números, conforme os conceitos relacionados ao método main e a instanciação de objetos. Assinale a alternativa que traz a associação correta entre as duas listas: Alternativas: • I – B; II – C; III – A.checkCORRETO • I – A; II – B; III – C. • I – C; II – A; III – B. • I – C; II – B; III – A. • I – B; II – A; III – C. Resolução comentada: A correta associação é: I – B: Método main refere-se ao método que permite a inicialização do programa, recebendo como parâmetro um vetor de caracteres que podem ser utilizados internamente no método. II – C; Termo new refere-se à chamada do método que instancia o objeto. Esta palavra permitirá que uma variável de referência do tipo de objeto a ser criado possa de fato ser “construído” e utilizado pelo programa. III – A: Método Construtor refere-se ao método que permite a instanciação de um novo objeto com base em uma classe concreta. Geralmente, é declarado de modo implícito. Código da questão: 76856 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 – A; II – B; III – C. • I – C; II – A; III – B. • I – B; II – C; III – A. • I – C; II – B; III – A. • 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 componentes do Swing possuem diversos métodos que auxiliam ou complementam seus usos nas aplicações via código. Sobre estes métodos e suas funções, analise as afirmativas a seguir: I. O método JLabel(String, Image, int) está relacionado ao componente JLabel e permite a criação de um rótulo com um texto, uma imagem e um número inteiro. II. O método setText() do componente JTextField pode ser utilizado para limpar o campo, desde que seja atribuído o valor null. III. O método getText() do componente JTextField permite obter o valor digitado pelo usuário. Este valor será sempre convertido em String. IV. O método setEditable(boolean) fará com que o campo JTextField fique desabilitado, quando o valor passado for false, ou habilitado, quando o valor passado for true. V. O método showMessageDialog(Componente, String, String, int) permite a criação de uma caixa de diálogo com a indicação do componente que a criou, a mensagem, o texto para o título e um tipo de formatação para um ícone a ser exibido. Assinale a alternativa que apresenta corretamente quais afirmativas são corretas. Alternativas: • III e V, apenas. • I e II, apenas. • I, III e IV, apenas. • I, II e IV, apenas. • III, IV e V, apenas.checkCORRETO Resolução comentada: A I é incorreta, pois o método JLabel(String, Image, int) está relacionado ao componente JLabel e permitea criação de um rótulo com um texto, uma imagem e o alinhamento dos dados. A II é incorreta, pois o método setText() do componente JTextField pode ser utilizado para limpar o campo, desde que seja atribuído o valor vazio “ ”. A III, a IV e a V são corretas, pois o método getText() do componente JTextField permite obter o valor digitado pelo usuário. Este valor será sempre convertido em String. O método setEditable(boolean) fará com que o campo JTextField fique desabilitado, quando o valor passado for false, ou habilitado, quando o valor passado for true. E o método showMessageDialog(Componente, String, String, int) permite a criação de uma caixa de diálogo com a indicação do componente que a criou, a mensagem, o texto para o título e um tipo de formatação para um ícone a ser exibido. Código da questão: 76867