Prévia do material em texto
GRA0241 PROGRAMAÇÃO ORIENTADA A OBJETOS GR2593-212-9 - 202120.ead-29780845.06 Teste ATIVIDADE 4 (A4) Iniciado 03/12/21 09:24 Enviado 03/12/21 09:55 Status Completada Resultado da tentativa 8 em 10 pontos Tempo decorrido 30 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários · Pergunta 1 1 em 1 pontos “Uma característica de um bom projetista de software é a capacidade de pensar à frente. O que pode ser mudado? O que podemos assumir, com alguma segurança, que permanecerá inalterado durante toada a vida do programa? Assumimos e codificamos na maior parte das nossas classes que o jogo será executado como um jogo baseado em texto e em terminal de saída. Mas isto será sempre assim?”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 184). Podemos compreender a questão da qualidade de desenvolvimento de código. Neste sentido, esta característica também é necessária ao se tratar da interface na orientação a objeto. Portanto, quando tratamos de interface, quais as afirmativas abaixo são verdadeiras ou falsas? I. ( ) Em Java não é possível criar herança múltipla. II. ( ) Interface é um contrato em que as classes devem obedecer. III. ( ) Implementar significa assinar um contrato dos atributos. IV. ( ) Usando interfaces não se segue um padrão de projeto. Agora, assinale a alternativa que apresenta as a alternativa correta. Resposta Selecionada: .V, V, F, F. Resposta Correta: .V, V, F, F. Comentário da resposta: Resposta correta. É correto afirmar que Java criar heranças múltiplas e a interface é um tipo de contrato que as classes devem obedecer, caso isto não ocorra, pode existir um comprometimento de execução do código. · Pergunta 2 1 em 1 pontos “Códigos confiáveis trabalham repetida e consistentemente. Seu código atingirá essas qualidades somente se você puder de alguma forma verificar a exatidão do mesmo.”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML . São Paulo: Makron Books, 2001. p. 68). É fundamental desenvolver softwares com robustez e alto nível de confiabilidade. A linguagem Java fornece objetos que informam a ocorrência de algum problema em tempo de execução de um programa. Neste sentido, quais são abaixo as exceções definidas em Java? I. java.lang.ArithmeticException . II. java.io.IOException . III. java.lang.NullPointerException . IV. java.io.Procedures . É correto o que se afirma em: Resposta Selecionada: .I, II e III. Resposta Correta: .I, II e III. Comentário da resposta: Resposta correta. Para que haja um correto tratamento de exceções, é necessário ter um entendimento correto das causas destas exceções. Neste sentido, java.lang.ArithmeticException , java.io.IOException e java.lang.NullPointerException são definidas na linguagem Java. · Pergunta 3 1 em 1 pontos “A própria linguagem de programação Java fornece uma implementação muita limpa da maioria dos conceitos orientados a objetos importantes e serve bem como uma linguagem de ensino introdutória. Sua popularidade assegura um grupo imenso de recursos de suporte. Em qualquer área de assunto, ter várias fontes de informações disponíveis é muito útil. Para Java, em particular, incontáveis livros tutoriais, exercícios, compiladores, ambientes e questionários já existem.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . São Paulo: Pearson Prentice Hall, 2004. p. 18). Podemos compreender a importância da linguagem Java para o desenvolvimento de códigos robustos e eficientes. Neste sentido, o Java executa um tratamento específico para exceções, entre eles as exceções explícitas. O que caracteriza o tratamento de exceções explícitas? Resposta Selecionada: .As exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando throw. Resposta Correta: .As exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando throw. Comentário da resposta: Resposta correta. É correto afirmar que as exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando throw, pois somente assim haverá o tratamento de erro. · Pergunta 4 1 em 1 pontos “Utilitário (ou pacote de utilitário) é um grupo de procedimentos e funções encapsulados em uma única unidade com um conjunto de dados privados. Ele difere da classe pelo fato de que os objetos individuais nunca são gerados a partir dele; utilitário se assemelha muito mais a um grupo de funções e procedimentos convencionais (como uma biblioteca dinamicamente concatenada).”. (PAGE-JONES M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 98). A linguagem Java oferece uma variedade de bibliotecas que podem ser utilizadas para a interação do usuário. Neste sentido, analise os conceitos relacionados às bibliotecas de interface com o usuário a seguir e associe-os com suas respectivas definições. (1) Abstract Window Toolkit. (2) Swing. (3) Java Foundation Classes. (4) Look-and-feel. ( ) Indica que, independente da plataforma que estiver executando o programa, ele será apresentado com a mesma interface. ( ) Lançamento da primeira API disponibilizada pelo Java que implementava as interfaces gráficas. ( ) Esta biblioteca foi lançada após AWT e não a substitui, mas complementa as funcionalidades principais. ( ) Funcionalidades que dão suporte na implementação de botões, menus, com funcionalidades drag-and-drop. Agora, assinale a alternativa que apresenta a sequência correta. Resposta Selecionada: 4, 1, 2, 3. Resposta Correta: 4, 1, 2, 3. Comentário da resposta: Resposta correta. A linguagem de programação Java nos oferece uma variedade de bibliotecas que são utilizadas para a interação do usuário com o programa, de forma gráfica. São nossas interfaces gráficas de usuários (GUI). · Pergunta 5 1 em 1 pontos “A palavra interface tem vários significados no contexto de programação e Java. Ela é utilizada para descrever a parte publicamente visível de uma classe, mas também tem outros significados. A interface de uma classe descreve o que uma classe faz e como ela pode ser utilizada sem mostrar a respectiva implementação. O código-fonte completo que define a classe é chamado de implementação de uma classe”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 110). A noção de interface é fundamental quando são desenvolvidos códigos orientados a objeto. Quando tratamos no contexto de um recurso de código, qual a definição de interface? Resposta Selecionada: .Interface define um determinado grupo de classes para que tenha métodos, ou propriedades iguais. Resposta Correta: .Interface define um determinado grupo de classes para que tenha métodos, ou propriedades iguais. Comentário da resposta: Resposta correta. Na orientação a objeto, a interface, no contexto de recurso de código, tem como significado um recurso que define um determinado grupo de classes para que tenha métodos, ou propriedades iguais. Porém, esses métodos iguais podem ser implantados de maneira distinta em cada classe desse grupo. · Pergunta 6 0 em 1 pontos “Examinamos a estrutura interna de uma classe com alguns detalhes. Vimos que a classe tem uma pequena camada externa que dá nome à classe um corpo interno mais substancial contendo campos, um construtor e vários métodos. Os campos são utilizados para armazenar dados que permitem aos objetos manter aos objetos manter um estado. Os construtores são utilizados para configurar o estado inicial quando um objeto é criado.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 32). O conceito de camadas está inserido em vários aspectos na orientação a objeto. Quando sãodesenvolvidas as interfaces com o usuário são utilizadas interfaces que são divididas em camadas. Neste sentido, o que é a camada de apresentação? Resposta Selecionada: .Interage diretamente com o usuário e é por meio dela que se têm atributos responsáveis por implementar a interface do sistema e capturar interações do usuário. Resposta Correta: .Interage diretamente com o usuário e é por meio dela que se têm classes responsáveis por implementar a interface do sistema e capturar interações do usuário. Comentário da resposta: Sua resposta está incorreta. A camada de apresentação interage diretamente com o usuário e não indiretamente por meio das classes e não dos métodos ou atributos. · Pergunta 7 1 em 1 pontos “O primeiro requisito de uma recuperação bem-sucedida após um erro é que os clientes tomem nota de qualquer notificação de erro que eles recebem. Isto pode parecer óbvio, mas é comum para um programador supor que uma chamada de método não falhará e assim não se incomoda em verificar o valor do retorno.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . São Paulo: Pearson Prentice Hall, 2004. p. 302). A linguagem Java prevê como contornar erros de execução. Neste sentido, qual a classe que trata todas as exceções de erro de um programa? Resposta Selecionada: . java.lang.Throwable. Resposta Correta: .java.lang.Throwable. Comentário da resposta: Resposta correta. Segundo os fundamentos da linguagem orientada a objetos Java, a classe raiz de todas as exceções é java.lang.Throwable, objetos que sejam dessa classe, ou de suas classes derivadas. · Pergunta 8 1 em 1 pontos “O NetBeans IDE oferece suporte abrangente e de primeira classe para as tecnologias e melhorias de especificação Java mais recentes, antes de outros IDEs. É o primeiro IDE gratuito a oferecer suporte a JDK 8, JDK 7, Java EE 7, inclusive a seus aprimoramentos de HTML5 relacionados, e a JavaFX2”. ( NetBeans IDE Features . Disponível em: https://netbeans.org/features/web//web-app_pt_BR.html . Acesso em: 13 set. 2019.) As bibliotecas Java oferecem uma série de facilidades de interface com o usuário. Neste sentido, qual o componente relacionado ao Swing do Java que permite agrupar os componentes que fazem parte da tela? Resposta Selecionada: .JPanel. Resposta Correta: .JPanel. Comentário da resposta: Resposta correta. JPanel é o objeto da biblioteca Java que permite agrupar os componentes que fazem parte da tela. · Pergunta 9 0 em 1 pontos “Uma classe abstrata não gera objetos, porque geralmente ela tem, no mínimo, uma operação abstrata nela definida. Se ela na verdade criasse um objeto, uma mensagem invocando a operação abstrata do objeto provocaria um erro de run-time. Em face disso, uma operação abstrata, e a classe na qual ela está definida, podem parecer inúteis. Assim, por que as temos em uma linguagem orientada a objetos? A resposta tem relação com a herança.”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML . São Paulo: Makron Books, 2001. p. 98). Portanto, podemos compreender a importância de seguir as regras de programação orientada a objeto para que não ocorram erros quando o sistema estiver instalado. Neste sentido, qual o tipo de problema acarreta erro em tempo de execução? Resposta Selecionada: [Sem Resposta] Resposta Correta: .Erro de lógica. Comentário da resposta: Resposta incorreta. Os erros de exceção ocorrem em função de alguma lógica construída de forma errada pelo desenvolvedor e são detectados em tempo de execução. . · Pergunta 10 1 em 1 pontos “Em uma aplicação com bom design isso é bem independente da lógica de negócio da aplicação, portanto isso pode ser feito independentemente do projeto da estrutura de classe para o restante do projeto. O design inicial é uma das partes mais importantes do projeto. Deve-se planejar investir pelo menos tanto tempo trabalhando no design quanto planeja investir em implementação. O design de aplicação não é algo que precede a programação.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . São Paulo: Pearson Prentice Hall, 2004. p. 184). É possível compreender que o desenvolvimento de código com linguagens orientadas as objeto levam em consideração a lógica de negócio. Neste sentido, quando tratamos da interface com o usuário, o que significa a camada de negócio? Resposta Selecionada: .É onde ficam as funcionalidades e regras de todo o sistema. Resposta Correta: .É onde ficam as funcionalidades e regras de todo o sistema. Comentário da resposta: Resposta correta. Segundo os fundamentos de orientação a objeto, a camada de negócio concentra as regras e as funcionalidades inerentes ao sistema que está sendo desenvolvido.