Baixe o app para aproveitar ainda mais
Prévia do material em texto
ATIVIDADE 4 (A4) 05.3 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 1) “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: A) II e IV. B) I, II e IV. C) I e II. D) II, III e IV. E) 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. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 2) “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? A) java.lang.Panels. B) java.lang.Frame. C) java.lang.Awt. D) java.lang.Throwable. E) java.lang.Swing. 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. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 3) “A interface com o usuário (frequentemente uma interface gráfica como usuário) é ocasionalmente referida apenas como interface, mas o Java também tem uma construção de linguagem chamada interface que é relacionada mas distinta. É importante distinguir entre os diferentes significados da palavra interface em um contexto particular, pois a palavra interface tomará diversos significados em cenários diferentes na programação orientada a objeto ”. (BARNES, D.J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 113). Pela citação foi possível compreender as diversas definições de interface em orientação a objeto e na linguagem Java. A interface gráfica no Java é realizada pela biblioteca Swing. Neste sentido, quais as afirmativas abaixo são falsas ou verdadeiras sobre os componentes da interface gráfica da biblioteca Swing? I. (F) JComboBox exibe texto não editável ou ícones. II. (F) JTextField fornece uma lista de itens para selecionar um item . III. (V) JCheckBox – especifica uma opção que pode ser, ou não, selecionada. IV. (V) JList exibe relação para se selecionar vários itens. Agora, assinale a alternativa correta. A) F, F, V, V. B) F, V, V, V. C) V, F, F, V. D) F, V, V, F. E) F, F, V, F. Comentário da resposta: Resposta correta. O pacote Swing é uma evolução do pacote AWT. Além de seus próprios componentes, esse pacote possui quase todos os componentes que já existiam no pacote AWT, porém com uma interface gráfica mais evoluída e com maiores efeitos. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 4) “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? A) Erro de sintaxe. B) Erro de regra de negócio. C) Erro de instalação. D) Erro de análise. E) Erro de lógica. Comentário da resposta: Resposta correta. Erros imprevistos que acontecem em tempo de execução são conhecidos como exceções que ocorrem quando algum erro de lógica não é resolvido pelo desenvolvedor. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 5) “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? A) As exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando Exception. B) As exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando throw. C) As exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando Error. D) As exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando Catch. E) As exceções explícitas necessitam que o desenvolvedor realize um tratamento com o uso do comando RunTimeException. 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. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 6) “Ao aceitarmos a concorrência, também permitimos que um objeto destinatário seja bombardeado por mensagens de vários objetos remetentes executando concorrentemente. Uma vez que essas mensagens podem chegar mais rápido do que o objeto destinatário consegue processá-las, elas terão de ir a algum lugar para esperar pela vez delas. Elas vão para uma ‘sala de espera’, mais frequentemente conhecida como uma fila [queue] de mensagens.”. (PAGE-JONES M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 158.). Portanto, podemos compreender a partir da citação, que existem diversas interfaces, inclusive de filas. Neste sentido, o que significa a interface Queue? A) B) C) D) E) Comentário da resposta: Resposta correta. A interface Queue (fila) deve ser utilizada com o objetivo de ordenação e inserções dos elementos forem relevantes e forem aceitas duplicidades dos elementos. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 7) “Quando os componentes de software colaboram para cumprir uma tarefa, dizemos que a interface entre eles deve ser clara e bem definida. por interface queremos dizer as partes de uma classe que são conhecidas poroutras classes e com as quais essas classes contam. Considere, por exemplo, um projeto para desenvolver software para operar uma calculadora aritmética. Uma maneira de dividir esse projeto é em duas partes importantes: uma parte responsável por permitir que os usuários insiram cálculos e outra para implementar a lógica aritmética dos cálculos.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos com Java – uma introdução prática usando o Bluej. 4. ed. São Paulo: Pearson Prentice Hall, 2009. p. 150.). Podemos compreender que a herança associa-se ao polimorfismo, que na orientação a objetos pode assumir diferentes comportamentos. Como se apresenta o polimorfismo na forma de sobreposição? A) B) C) D) E) Comentário da resposta: Resposta correta. Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 8) “Um método abstrato consiste na definição de uma assinatura na classe abstrata. Este método deverá conter uma implementação na classe-filha, mas não deve possuir implementação na classe em que ele é definido. Um método final não pode ser sobrescrito, ou seja, não pode ser redefinido na classe-filha. Para marcar um método como final, basta utilizar o operador final no início de sua declaração.”. (ZENZELUK, J. H.; RIBEIRO, S. Um estudo para a evolução do PHP com a linguagem Orientada a objetos. Revista Científica Semana Acadêmica, Fortaleza v. 3, n. 1, 2014.). No universo de orientação a objeto, existem diversos fundamentos que são de importância crítica. Neste sentido, para o programa funcionar, esses elementos precisam conversar entre si, interagindo de acordo com a lógica que implementamos. Indique quais as outras interações entre as classes estão corretas. I. Associação é uma conexão entre classes, consequentemente será uma conexão entre seus objetos também. II. A agregação é quando precisamos que uma classe tenha acesso a informações de outra classe, dentro de suas operações. III. Quando o programa permite fazer associação, não se separa as informações e é possível manuseá-las de maneira mais adequada. IV. Na composição, se a classe que utiliza as outras classes, deixar de existir no programa, obrigatoriamente as outras classes deixam de existir. Agora, assinale a alternativa que apresenta as afirmações corretas. A) B) C) D) E) Comentário da resposta: Resposta correta. Esse método necessariamente precisa reescrever um método existente na classe mãe. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 9) “Um exemplo cotidiano de um map é uma lista telefônica. Uma lista telefônica contém entradas e cada entrada é um par: um nome e um número de telefone. Você utiliza uma agenda de telefones para pesquisar um nome e obter um número de telefone. Não utilizamos um índice - a posição da entrada na agenda de telefones - para localizá-lo. Um map pode ser organizado de tal maneira que a pesquisa de um valor para uma chave seja fácil.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 121.). Conforme citado no excerto, a interface map, na sua estrutura, permite que cada elemento armazene duas informações: uma chave e um valor. Indique quais as outras características da interface map? I. Na criação da implementação basta informar a chave. II. As chaves não podem ser duplicadas. III. Implementa a interface pelo uso das implementações LinkedHashMap. IV. No HashMap os elementos são ordenados. Agora, assinale a alternativa que apresenta as afirmações corretas. A) B) C) D) E) Comentário da resposta: Resposta correta. As chaves não podem ser duplicadas e a implementação da interface pelo uso das implementações L inkedHashMap. 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA ATIVIDADE 4 (PROGRAMAÇÃO ORIENTADA A OBJETOS) 10) “Como implementação, muitas bibliotecas de software disponíveis comercialmente, que o habilitam a construir interfaces janela/mouse/ícone, são escritas em linguagem orientada a objeto. Uma vez que uma janela naturalmente tem muitas propriedades de um objeto, a maioria das ferramentas de desenvolvimento para interfaces providas com janelas também tem uma emenda de orientação a objeto que as percorre .”. (PAGE-JONES M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 72.). Portanto, podemos saber aplicar as propriedades das interfaces nas linguagens orientadas a objeto. Qual é o objeto da interface list? A) B) C) D) E) Comentário da resposta: Resposta correta. Usamos a interface List quando queremos que nossa coleção seja ordenada e que possa adicionar objetos duplicados. Quinta-feira, 25 de Novembro de 2021 11h44min14s BRT 5 SEMESTRE DE 2022 (BLOCO 1) - 3o PROVA
Compartilhar