Prévia do material em texto
Curso GRA0241 PROGRAMAÇÃO ORIENTADA A OBJETOS GR2593-212-9 - 202120.ead- 17734.01 Teste ATIVIDADE 2 (A2) Iniciado 23/10/21 17:41 Enviado 23/10/21 17:55 Status Completada Resultado da tentativa 10 em 10 pontos Tempo decorrido 14 minutos Resultados exibidos Respostas enviadas, Respostas corretas, Comentários • Pergunta 1 1 em 1 pontos “O encapsulamento consiste em evidenciar ou não as funcionalidades do objeto ao ambiente externo. Um exemplo é o motor de um carro sendo um objeto acionado através do método da ignição e que [...] este método interage com outros métodos internos, como acender vela de ignição para prover a funcionalidade de ligar o carro. O método responsável por acionar a vela de ignição não está visível ao usuário do carro. Não é ele quem decide quando a vela irá acender ou não. Esse método é interno, pois a entidade usuário do carro, que interage com o carro, não interage com o motor”. (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. 91. É possível compreender a importância do encapsulamento nos códigos orientados a objeto. Neste sentido, qual é a real vantagem obtida do encapsulamento no código? Resposta Selecionada: .Se for necessário fazer alteração no código, em vez de mudar informações em vários lugares do código, fará apenas a alteração necessária em um único lugar. Resposta Correta: .Se for necessário fazer alteração no código, em vez de mudar informações em vários lugares do código, fará apenas a alteração necessária em um único lugar. Comentário da resposta: Resposta correta: Uma das grandes vantagens do encapsulamento é a facilidade de mudança, pois caso seja necessário, a alteração é realizada somente em um ponto do código e não em vários pontos distintos, tornando a alteração mais confiável. • Pergunta 2 1 em 1 pontos “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. Resposta Selecionada: .II e III. Resposta Correta: .II e III. 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. • Pergunta 3 1 em 1 pontos “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 ? Resposta Selecionada: .É nomeado um método de acesso com set sempre que este método for modificar algum campo ou atributo de uma classe. Resposta Correta: .É nomeado um método de acesso com set sempre que este método for modificar algum campo ou atributo de uma classe. Comentário da resposta: 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 4 1 em 1 pontos “A diretriz de encapsulamento (ocultar informações de implementação de visualização) sugere que somente as informações sobre o que uma classe pode fazer devem ser visíveis externamente, não como ela é. Isso apresenta uma grande vantagem: se nenhuma outra classe sabe como nossas informações são armazenadas, podemos facilmente alterar como elas são armazenadas sem quebrar outras classes.”. (BARNES, D. J.; KOLLING, M. Programação orientada a objetos em Java . São Paulo: Pearson Prentice Hall, 2004. p. 188.). É possível compreender a utilização de encapsulamento como uma forma de programação com maior segurança. Porém, qual a maneira de se acessar os atributos encapsulados? Resposta Selecionada: .Criando métodos que liberam o acesso. Resposta Correta: .Criando métodos que liberam o acesso. Comentário da resposta: Resposta correta. Segundo os fundamentos de orientação a objeto, ao utilizar o encapsulamento, só atributos são protegidos, sendo necessário criar métodos adicionais para o acesso a estes atributos por outras classes. • Pergunta 5 1 em 1 pontos “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? Resposta Selecionada: .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 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. 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. • Pergunta 6 1 em 1 pontos “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?Resposta Selecionada: .Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces. Resposta Correta: .Quando são criadas as coleções se tem acesso aos métodos já implementados na maioria das interfaces. 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. • Pergunta 7 1 em 1 pontos “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. Resposta Selecionada: 1, 2, 3. Resposta Correta: 1, 2, 3. Comentário da resposta: Resposta correta. O modificador Public libera acesso irrestrito, sendo que o Protect não libera globalmente e Private somente à classe que pertence. • Pergunta 8 1 em 1 pontos “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 ? Resposta Selecionada: .É nomeado um método de acesso com get toda vez que este método for executar a leitura de algum campo ou atributo de uma classe. Resposta Correta: .É nomeado um método de acesso com get toda vez que este método for executar a leitura de algum campo ou atributo de uma classe. Comentário da resposta: Resposta correta. Para resolver problemas de acesso às classes é necessário criar métodos de acesso para leitura de valores a esses atributos. Essas propriedades são chamadas de get. • Pergunta 9 1 em 1 pontos “Podemos utilizar classes de biblioteca exatamente da mesma maneira como utilizaríamos nossas próprias classes: as instâncias são construídas utilizando new e as classes têm campos, construtores e métodos. Arraylist é um exemplo de uma classe de coleção. As coleções podem armazenar um número arbitrário de elementos, sendo cada elemento outro objeto.” (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. 77.). O uso de coleções na orientação a objetos torna o código mais robusto e de maior manutenibilidade. Neste caso, como o Java disponibiliza a estrutura do API Collections ? Resposta Selecionada: .Estrutura dinâmica. Resposta Correta: .Estrutura dinâmica. Comentário da resposta: Resposta correta. A API Collections disponibiliza uma estrutura dinâmica para utilização. • Pergunta 10 1 em 1 pontos “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 ? Resposta Selecionada: .Deixa os atributos visíveis apenas para a classe na qual eles estão declarados. Resposta Correta: .Deixa os atributos visíveis apenas para a classe na qual eles estão declarados. Comentário da resposta: Resposta correta. É correto afirmar que o modificador Private deixa os atributos visíveis apenas para a classe na qual eles estão declarados. Sábado, 23 de Outubro de 2021 17h56min06s BRT