Prévia do material em texto
A2 - PROGRAMAÇÃO ORIENTADA A OBJETOS 1)“Um dos recursos de linguagem orientada a objetos que as tornam poderosas é que elas frequentemente são acompanhadas pelas bibliotecas de classes. Essas bibliotecas em geral contêm muitas centenas ou milhares de classes diferentes que se provaram úteis para desenvolvedores em uma ampla variedade de projetos diferentes. O Java tem muitas bibliotecas diferentes e são chamados de pacotes as suas bibliotecas”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 77.). A orientação a objeto e a linguagem Java oferece uma série de facilidades para melhorar o desenvolvimento de códigos. Neste sentido, qual o objetivo da API Collections? 2) “As aplicações gráficas sempre foram uma opção popular para a orientação a objeto. Em particular, as pessoas muitas vezes implementam interfaces gráficas do usuário (Graphical User Interface) por meio de orientação a objeto. Há duas razões para isso: a primeira é conceitual. A segunda, implementacional. Conceitualmente, a metáfora da orientação a objeto se adapta bem com a interface janela/mouse/ícone típica.”. (PAGE-JONES M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 72.). Portanto, podemos compreender a importância das interfaces nas linguagens orientadas a objeto. Qual é o objeto da interface set? 3) “O encapsulamento em orientação a objeto tem uma finalidade similar à sub-rotina. Entretanto, o encapsulamento é estruturalmente mais sofisticado. O encapsulamento orientado a objeto é o pacote de operações e atributos o qual representa o estado em um tipo de objeto, de tal forma que o estado é acessível ou modificável somente pela interface provida pelo encapsulamento.”. (PAGE-JONES, M. Fundamentos do desenho orientado a objeto com UML. São Paulo: Makron Books, 2001. p. 10.). Podemos compreender que, na hora da implementação de classes encapsuladas, é necessário ter bastante cuidado sobre qual modificador de acesso utilizar. Neste sentido, qual o objetivo do método get? 4) “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? 5) “Chamamos métodos que alteram o estado de seu objeto de métodos modificadores. Da mesma maneira como pensamos nos métodos de acesso como solicitações de informações (perguntas), você pode pensar nos métodos modificadores como solicitações para um objeto alterar seu estado. Um efeito característico de um método modificador é que um objeto exibirá com frequência o comportamento ligeiramente antes e depois de ser chamado.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java. São Paulo: Pearson Prentice Hall, 2004. p. 28.). Os modificadores de acesso permitem liberar, ou não, informações do código. Neste sentido, analise os modificadores e associe com as afirmativas. (1) Public. (2) Protect. (3) Private. ( ) Permite acesso à classe, pacote, subclasse e globalmente. ( ) Permite acesso à classe, pacote, subclasse, mas não globalmente. ( ) Permite acesso à classe, não ao pacote, nem subclasse e nem globalmente. Agora, assinale a alternativa que apresenta a sequência correta 6) “O paradigma da orientação a objetos, que trabalha com a prática de dividir os objetos do mundo real em classes, agrupando os que têm características (atributos) em comum, se resume a uma classificação. Entre todas as linguagens existentes, a classificação ainda é considerada a melhor, por assegurar uma arrumação lógica dos assuntos dentro de uma coleção. O objetivo de toda classificação é estabelecer uma ordem ou organização das coisas e dos pensamentos”..”. (CASTRO, F. R; CRUZ. F. M.; ODDONE, N. E. O paradigma da orientação a objetos, a linguagem unificada de modelagem (UML) e a organização e representação do conhecimento: um estudo de caso de um sistema para bibliotecas. Inf. Inf., Londrina, v. 18, n. 1, p. 82-105, 2013. p. 97.). Quando se programa em orientação a objetos é fundamental ter domínio sobre os conceitos fundamentais, como o conceito de coleção. Neste sentido, qual o fundamento da Collections Framework? 7) “Ao escrever um programa de computador em uma linguagem orientada a objetos, você criará, em seu computador, um modelo de alguma parte do mundo. As partes das quais o modelo é construído são os objetos que aparecem no domínio do problema. Esses objetos devem ser representados no modelo de computador que estiver sendo criado. Os objetos podem ser categorizados e uma classe descreve - de maneira abstrata - todos os objetos de um tipo particular.”. (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. 2.). Pelo enunciado, podemos que os programas desenvolvidos em linguagem orientada a objetos representam uma imagem do mundo. Nesta representação de objetos encontra-se a ideia de encapsulamento. O que significa encapsulamento em orientação a objeto? 8) “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? 9) “Vimos que o uso de campos públicos é uma prática que talvez crie uma forma desnecessariamente forte de acoplamento entre as classes, com este acoplamento forte, pode ser necessário fazer alterações em mais de uma classe para o que deveria ter sido uma simples modificação. Portanto, campos públicos devem ser evitados. Contudo, há uma forma ainda pior de acoplamento, que é o acoplamento implícito”. (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. 194.). Podemos compreender a complexidade de encapsulamento na orientação a objeto. Neste sentido, qual o objetivo do método set? 10) “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 por outras 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 osusuá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?