Prévia do material em texto
CCO04087 PROGRAMAÇÃO ORIENTADA A OBJETOS PNA (ON) - Revisar envio do teste: ATIVIDADE 2 Unidade 2 Revisar envio do teste: ATIVIDADE 2 Usuário Curso Teste Iniciado Enviado Status Completada Resultado da tentativa 2,25 em 2,5 pontos Tempo decorrido 7 horas, 25 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: Resposta Correta: Feedback da resposta: “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 interface Queue será utilizada quando a ordenação de inserção e remoção dos elementos forem importantes e forem passíveis de aceitar duplicação de elementos. .A interface Queue será utilizada quando a ordenação de inserção e remoção dos elementos forem importantes e forem passíveis de aceitar duplicação de elementos. 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. Pergunta 2 “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.; 0,25 em 0,25 pontos 0,25 em 0,25 pontos Resposta Selecionada: Resposta Correta: Feedback da resposta: 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 ? .Agrupar um conjunto de objetos de forma que se possam desenvolver operações básicas nessa coleção. .Agrupar um conjunto de objetos de forma que se possam desenvolver operações básicas nessa coleção. Resposta correta. Collections (Coleção) representa um conjunto de interfaces e classes que podem ser tratados de forma única. Pergunta 3 Resposta Selecionada: Resposta Correta: Feedback da resposta: “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? .Quando definimos uma coleção de objetos que não possua elementos duplicados. .Quando definimos uma coleção de objetos que não possua elementos duplicados. Resposta correta. Quando definimos uma coleção de objetos que não possua elementos duplicados. Pergunta 4 Resposta Selecionada: Resposta Correta: “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 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? .Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces. .Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces. 0,25 em 0,25 pontos 0,25 em 0,25 pontos Feedback da resposta: Resposta correta. Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces. Pergunta 5 Resposta Selecionada: Resposta Correta: Feedback da resposta: “Os modificadores de acesso definem a visibilidade de um campo, construtor ou método. Elementos públicos são acessíveis a partir de dentro da mesma classe e de outras classes; elementos privados são acessíveis somente a partir de dentro da mesma classe. Por outro lado, o ocultamento das informações é um princípio que declara que detalhes internos da implementação de uma classe devem ser ocultos de outras classes.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . São Paulo: Pearson Prentice Hall, 2004. p. 138.). Podemos compreender a importância dos princípios fundamentais de modificadores de acesso e ocultamento nas classes. Neste sentido, qual o objetivo do modificador Private ? .Deixa os atributos visíveis apenas para a classe na qual eles estão declarados. .Deixa os atributos visíveis apenas para a classe na qual eles estão declarados. Resposta correta. É correto afirmar que o modificador Private deixa os atributos visíveis apenas para a classe na qual eles estão declarados. Pergunta 6 Resposta Selecionada: Resposta Correta: Feedback da resposta: “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. .II e III. .II e III. Resposta correta. As chaves não podem ser duplicadas e a implementação da interface pelo uso das implementações L inkedHashMap. Pergunta 7 “Um map é uma coleção de pares chave/valor de objetos. Como o arraylist, um map pode armazenar um número flexível de entradas. Uma diferença entre o ArrayList e um map é que com um map cada entrada não é um objeto, mas um par de objetos.Esse par consiste em um objeto chave e um objeto valor. Em vez de pesquisar entradas nessa coleção que utiliza um índice de inteiros, utilizamos o objeto chave para pesquisar o objeto valor.”. (BARNES, D. 0,25 em 0,25 pontos 0,25 em 0,25 pontos 0 em 0,25 pontos Resposta Selecionada: [Sem Resposta] Resposta Correta: Feedback da resposta: J.; KOLLING, M. Programação orientada a objetos em Java. Editora Pearson Prentice Hall. São Paulo, 2004. p. 120.). Apesar de não ser considerada uma Collection, a interface Map faz parte da API Collection. Neste sentido, existe uma árvore de hierarquia do map. Assinale a ordem correta hierarquia do map. .Map - SortedMap - TreeMap. Sua resposta está incorreta. Tente novamente. Não se esqueça de que a hierarquia é importante na API Collection. Pergunta 8 Resposta Selecionada: Resposta Correta: Feedback da resposta: “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. .I, II e IV. .I, II e IV. Resposta correta. Esse método necessariamente precisa reescrever um método existente na classe mãe. Pergunta 9 Resposta Selecionada: Resposta Correta: “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 ? .É nomeado um método de acesso com set sempre que este método for modificar algum campo ou atributo de uma classe. 0,25 em 0,25 pontos 0,25 em 0,25 pontos Feedback da resposta: .É nomeado um método de acesso com set sempre que este método for modificar algum campo ou atributo de uma classe. Resposta correta. Criam-se métodos de acesso para atribuição de valores a esses atributos e essas propriedades de set para a escrita de um valor no atributo. Pergunta 10 Resposta Selecionada: Resposta Correta: Feedback da resposta: “As variáveis de classe são frequentemente utilizadas para armazenar um valor que deve ser sempre o mesmo para todas as instâncias de uma classe. Em vez de armazenar uma cópia do mesmo valorem cada objeto, o que seria um desperdício de espaço e que talvez fosse difícil coordenar, um único valor pode ser compartilhado entre todas as instâncias. Java suporta métodos de classe.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . São Paulo: Pearson Prentice Hall, 2004. p. 136.). Podemos compreender o nível de complexidade ao criar instâncias para classes na orientação a objeto. Neste sentido, qual o objetivo de se criar um atributo com o tipo static ? I. O atributo se torna um atributo da classe. II. Não se torna um atributo para cada objeto do tipo daquela classe. III. O atributo fica restrito somente àquela classe. IV. Torna inacessível o conteúdo dos atributos por outras classes. É correto o que se afirma em: .I e II. .I e II. Resposta correta. Em Java, podemos declarar essa variável como sendo do tipo estática ( static). Fazendo o uso do tipo static, nosso atributo se torna um atributo da classe, e não um atributo para cada objeto do tipo daquela classe. ← OK 0,25 em 0,25 pontos