Prévia do material em texto
Pergunta 1 Observe o seguinte trecho de código: 1,66 em 1,66 pontos Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: Fonte: Elaborada pelo autor (2022). Podemos afirmar que poderia existir uma característica de polimorfismo atribuída à variável tamanho na linha: 12, com a expressão “getArea” para encapsular a variável 12, com a expressão “getArea” para encapsular a variável 3, com a utilização do termo int 7, com a atribuição feita ao método construtor 21, ao realizarmos a chamada para a criação de um objeto do tipo Area 19, na utilização do método principal pelo void main JUSTIFICATIVA O encapsulamento é a prática de ocultar detalhes de implementação, ou o estado interno de um objeto, e expor, seletivamente, o acesso a esses internos por meio de métodos públicos. Geralmente, é aplicado para impedir que usuários externos acessem e modifiquem diretamente as propriedades de um objeto, seja por motivos de segurança, seja para evitar corrupção de dados. Pergunta 2 Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Leia o trecho a seguir. “A declaração de variáveis de instância com o modificador private é conhecida como ocultamento de dados ou ocultamento de informações. Quando um programa instancia um objeto de uma classe, a variável (atributo) é ocultada no objeto e pode ser acessada apenas por métodos da classe do objeto” (DEITEL; DEITEL, 2016, p. 63). DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Em relação aos conceitos de programação orientada a objetos, assinale a alternativa a seguir que apresenta corretamente ao que se refere o trecho lido anteriormente. Encapsulamento Polimorfismo Sobrecarga Herança Encapsulamento Interface JUSTIFICATIVA O encapsulamento está associado à utilização de métodos para realizar o acesso e a obtenção ou alteração de dados de determinado objeto, bem como o acesso a outros métodos específicos de uma classe. Os termos contidos nas demais alternativas não dizem respeito a esse aspecto. Pergunta 3 Os modificadores de acesso em Java especificam a acessibilidade ou escopo de um campo, método, construtor ou classe. Podemos alterar o nível de acesso de campos, construtores, métodos e classes aplicando neles o modificador de acesso. Considerando as descrições e os modificadores de acesso, analise os conceitos e termos a seguir. 1. public. 2. protected. 1,66 em 1,66 pontos 1,66 em 1,66 pontos Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: 3. private. 4. default. I. O nível de acesso desse modificador é apenas dentro da classe. Não pode ser acessado de fora da classe. II. O seu nível de acesso está apenas dentro do pacote. Não pode ser acessado de fora do pacote. Se você não especificar nenhum nível de acesso, este será o nível de acesso. III. O nível de acesso está dentro e fora do pacote por meio da classe filha. Se você não criar a classe filha, ela não poderá ser acessada de fora do pacote. IV. O nível de acesso de um modificador desse tipo está em toda parte. Ele pode ser acessado de dentro ou fora da classe, bem como de dentro ou fora do pacote. Assinale a seguir a alternativa que correlaciona corretamente os dois grupos de informação: 1-IV; 2-III; 3-I; 4-II 1-IV; 2-I; 3-III; 4-II 1-I; 2-II; 3-III; 4-IV 1-II; 2-I; 3-III; 4-IV 1-IV; 2-III; 3-I; 4-II 1-III; 2-II; 3-IV; 4-I JUSTIFICATIVA O conceito I se enquadra no termo 3, pois o modificador private restringe o acesso a um atributo apenas à classe em que está inserido. O conceito II se enquadra no termo 4, uma vez que o modificador default se restringe ao pacote em que a classe correspondente está inserida. O conceito III se enquadra no termo 2, pois o modificador protected restringe o acesso ao nível de pacote na codificação Java, com acesso externo apenas por meio de sua importação na classe filha. O conceito IV se enquadra no termo 1, pois o modificador public permite que uma variável ou método seja acessado tanto de forma interna quanto de forma externa à classe ou ao pacote em que está inserido. Pergunta 4 Leia o trecho a seguir. 1,66 em 1,66 pontos Resposta Selecionada: a. Respostas: a. b. c. d. e. Comentário da resposta: “Na indústria, diagramas UML ajudam projetistas de sistema a especificar um sistema de maneira gráfica, concisa e independente de linguagem de programação antes de os programadores implementarem o sistema em linguagem específica” (DEITEL; DEITEL, 2016, p. 61). DEITEL, P.; DEITEL, H. Java: como programar. 10. ed. São Paulo: Pearson Education do Brasil, 2016. Observe a seguinte imagem: Fonte: Deitel e Deitel (2016, p. 61). Considerando o apresentado, analise as afirmativas a seguir. I. No compartimento superior, temos o atributo da classe, que corresponde à variável de instância de mesmo nome em Java. II. O compartimento inferior contém as operações da classe, que correspondem aos métodos com os mesmos nomes em Java. III. A UML representa o tipo de retorno de um método utilizando dois pontos, juntamente com a expressão void ao lado de cada tipo em Java. IV. O compartimento intermediário possui definições de nome da classe, representada por uma classe de mesmo nome em Java. Está correto o que se afirma em: II, apenas II, apenas I e II, apenas II e III, apenas I, III e IV, apenas I, II e IV, apenas JUSTIFICATIVA A afirmativa I está incorreta, pois, no compartimento superior, temos as definições de nome da classe, representada por uma classe de mesmo nome em Java. A afirmativa II está correta, pois, no compartimento inferior, os métodos e comportamentos são definidos conforme a programação no ambiente de linguagem Java. A afirmativa III está incorreta, pois a expressão void é utilizada de forma específica para indicar que não existe nenhum tipo de retorno após a execução do método. A afirmativa IV também está incorreta, pois o compartimento intermediário possui o atributo da classe, que corresponde à variável de instância de mesmo nome em Java. Pergunta 5 Resposta Selecionada: a. Respostas: a. b. c. Na programação orientada a objetos, “[...] classes internas são definidas dentro de outras classes [...]”. Desse modo, as “[...] classes internas podem ter acesso a dados privados das classes nas quais elas estão inseridas” (FÉLIX, 2016, p. 16). FÉLIX, R. Programação orientada a objetos. São Paulo: Pearson Education do Brasil, 2016. Considerando o apresentado, analise as asserções a seguir e a relação proposta entre elas. I. A classe interna poderá conter o que uma classe considerada “normal” possui, como variáveis e métodos, além de membros estáticos. POIS II. A utilização de membros estáticos em uma classe interna informa ao compilador Java que essa classe será interpretada separadamente. A respeito das asserções, assinale a alternativa correta a seguir. As asserções I e II são proposições falsas. As asserções I e II são proposições falsas. As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I. As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I. 1,68 em 1,68 pontos d. e. Comentário da resposta: A asserção I é uma proposição falsa, e a asserção II é uma proposição verdadeira. A asserção I é uma proposição verdadeira, e a asserção II é uma proposição falsa. JUSTIFICATIVA A asserção I é uma proposição falsa, pois uma classe interna não poderá conter membros estáticos, necessitando de uma implementação independente. Classes internas, em Java, são as classes definidas dentro do escopo de outra classe. As classes internas também são chamadas de classes aninhadas. Isso ajuda a ter uma fácil documentação e uma melhor manutenção do código. A asserção II também é uma proposição falsa, uma vez que membros estáticos, em uma classe interna, implicará erro na compilação. A partir da versão 16, é possível a utilização da classe estática, mas isso não infere em uma compilação separada.Pergunta 6 Resposta Selecionada: d. A programação orientada a objetos tem importantes características, dentre elas, os pilares, que permitem a criação de sistemas de complexidade, com menor esforço e maior assertividade. O encapsulamento é um desses importantes pilares. Nesse sentido, analise as asserções a seguir e a relação proposta entre elas. I. O encapsulamento de um objeto ocorre com a proteção dos atributos, por meio dos modificadores de acesso private ou protected. Esses atributos são externalizados por meio de métodos de acesso. PORQUE II. O principal objetivo do encapsulamento é permitir que as classes derivadas possam, simplesmente, utilizar os atributos e métodos das classes-base ou definir outros atributos e métodos. Analisando essas asserções, é correto afirmar que: a primeira asserção é verdadeira e a segunda é falsa. 1,68 em 1,68 pontos Respostas: a. b. c. d. e. Comentário da resposta: as duas asserções são verdadeiras e a segunda justifica a primeira. as duas asserções são verdadeiras, mas a segunda não justifica a primeira. as duas asserções são falsas. a primeira asserção é verdadeira e a segunda é falsa. a primeira asserção é falsa e a segunda é verdadeira. JUSTIFICATIVA A proposição I está correta, pois o encapsulamento tem como teoria a proteção dos atributos e permite a externalização somente do que for necessário, por meio dos métodos de acesso. A proposição II está incorreta, pois o encapsulamento independe de classes derivadas.